DAY-01课堂笔记
为后续的自动化测试打基础
python+requests :接口自动化
python+selenium :web自动化
python+appium :移动端自动化
python 是解释型语言 下方代码的错误不会影响上方代码的执行
主流版本:python3
基础语法
注释:对代码进行解释说明
快捷键:ctrl+/
单行注释:
#语句
多行注释:
"""
语句1
语句2
"""
或
'''
语句1
语句2
'''
添加注释的注意事项:
- 注释并非越多越好,一目了然的代码无需注释
- 逻辑复杂的代码,应当先写注释再编码
- 不要用中文去翻译 python 代码的含义
波浪线:
-
红色波浪线
是代码中的错误,需要解决,否则会影响代码执行
-
灰色波浪线
代码规范性问题,可以正常运行 使用代码格式化 快捷键:ctrl+alt+L
-
绿色波浪线
不影响代码执行;间接性问题--编译器觉得你写的不是一个单词
变量
变量定义
name="软件测试"
#变量名=数据值
变量名自定义, 要满足
标识符
命名规则标识符规则:
- 由数字, 字母, 下划线组成
- 不能使用数字开头
- 不能使用Python内置关键字
- 严格区分大小写
标识符-命名习惯:(见名知意)
- 驼峰命名
- 大驼峰:每个单词首字母大写, 例如:
MyName
- 小驼峰:第二个单词开始首字母大写, 例如:
myName
- 下划线命名
- 每个单词之间使用下划线连接, 例如:
my_name
数据类型
数据类型分类:
数据类型转换:
数据类型的转换,不会改变原数据的类型;是生成一个新数据
程序的输出和输入
输出:
语法:print(数据/变量)
格式化输出:将程序的运行结果按照一定的格式输出
name = "小明"
age = 18
print(name + "今年" + str(age) + "岁了")
#非字符串类型的数据,还要进行类型转换
格式化输出-format方法实现
1:可以在任意的python版本中使用
2:字符串中需要使用变量时,用{}占位
3:将变量写在.farmat()中,按前面占位的顺序
print("name={} age={}".format(name, age))
格式化输出-f格式化实现
1:python 3.6版本开始可以使用
2:字符串中需要使用变量时,用{}占位
3:将变量直接写在{}中
print(f"name={name} age={age}")
输入:
语法: 变量名 = input('提示信息:') 默认字符串,即str
注意:
- 当程序执行到 input() 函数会等待用户输入, 因此最好给出提示信息
- input() 函数接收用户输入的信息后, 一般需要保存到到变量中, 方便后续使用
- input() 函数会把用户输入的任意数据都当做字符串处理, 需要运算时注意类型转换
练习:
题目①:
书写程序,制作一个加法计算器。
用户依次输入2个整数,系统自动进行加法运算,并打印求和结果。
x=input("请输入第一个数:")
y=input("请输入第二个数:")
z=int(x)+int(y)
print(f"{x}+{y}={z}")
x=input("请输入第一个数:")
y=input("请输入第二个数:")
z=int(x)+int(y)
print(f"{x}+{y}={z}")
转义字符:
将两个字符进行转义表示一个特殊的字符
\n --->换行,回车
\t --->tab键;制表符
print 函数中默认有一个end=\n,所以每个print结束之后,都有换行
不想让print换行:print("hello world",end=' ')
运算符
算术运算符
** 幂,次方 2**3 2的3次方 = 8
优先级:() > ** > * / // % >+ -
/除法运算得到的时浮点数float
比较运算符
类型不一样不能比较大小: >,>=,<,<= (数字和字符串不能比较)
赋值运算符
逻辑运算符
关键字: and or not
and:逻辑与-->只有两个条件都为true,结果才为ture;一假为假
or :逻辑或-->只要有一个条件为true,结果就为ture;一真为真
not:逻辑非-->本来时true,加上not,变为false;
练习题:
1. 提示用户输入用户姓名,并保存到变量中
2. 提示用户输入用户年龄,保存到变量中,并转换成整数
3. 提示用户输入用户身高,保存到变量中,并转换成浮点数
4. 在控制台输出用户姓名、年龄、身高对应变量的数据类型
5. 按照以下格式输出用户信息:“姓名:xxx 年龄:xxx 身高:xxx”
6. 在控制台输出该用户5年之后的年龄,格式:“张三 5 年之后的年龄是 25”
7. 在控制台输出该传智教育-黑马程序员 用户现在是否成年,格式:“张三是否成年:True”
name=input("请输入用户姓名:")
age=int(input("请输入用户年龄:"))
height=float(input("请输入用户身高:"))
print(type(name),type(age),type(height))
print(f"姓名:{name}年龄:{age}身高:{height}")
print(f"{name}5年之后的年龄时{age+5}")
print(f"{name}是否成年:{age>=18}")
DAY-02课堂笔记
1.掌握if判断语句的用法 2.掌握while循环的用法 3.掌握for循环的用法
流程控制
判断语句
if-else
if判断语句基本语法
if 判断条件 :
条件成立,做什么
#判断年龄
#1. 定义一个整数变量记录年龄
age=19
#2. 判断是否满 18 岁 (>=)
if age>=18 :
#3. 如果满 18 岁,允许进网吧嗨皮
print("允许进去")
else 处理条件不满足的情况
if 判断条件 :
条件成立,做什么
else:
条件不成立,做什么
- if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块
- else 关键字必须和 if 联合使用, 不能单独使用
#if else 判断年龄
#1. 输入用户年龄
age=int(input("请输入用户年龄:"))
#2. 判断是否满 18 岁 (>=)
if age>=18 :
#3. 如果满 18 岁,允许进网吧嗨皮
print("允许进入")
#4. 如果未满 18 岁,提示回家写作业
else:
print("回家写作业")
不要忘记 if 和 else 后面的 :冒号
#练习
#1.获取用户输入的用户名信息
#2.如果用户名信息是admin,就在控制台输出"欢迎admin登录"
#3.如果用户名信息不是admin,就在控制台输出"用户名错误!"
name=input("请输入用户名")
if name=='admin':
print("欢迎admin登录")
else:
print("用户名错误!")
if和逻辑运算符结合
逻辑运算符-and
条件1 and 条件2
• 逻辑与/并且
• 两个条件同时满足,返回 True
• 只要有一个不满足,就返回 False
# 1. 定义一个整数变量 age,编写代码判断年龄是否正确
# 2. 要求人的年龄在 0-120 之间
age = int(input("请输入一个年龄"))
if age>0 and age<120 :
print("正确")
else:
print("错误")
逻辑运算符-or
条件1 or 条件2
• 逻辑或/或者
• 两个条件只要有一个满足,返回 True
• 两个条件都不满足,返回 False
# 1. 定义两个整数变量python_score、c_score,编写代码判断成绩
# 2. 要求只要有一门成绩 > 60 分就算合格
python_score = int(input("请输入python成绩"))
c_score = int(input("请输入c的成绩"))
if python_score>60 or c_score>60:
print("合格")
else:
print("不合格")
逻辑运算符-not
not 条件
• 逻辑非/取反
• 如果True ,not之后为 False
• 如果False ,not之后为 True
案例一:
1. 获取⽤户输⼊的⽤户名和密码
2. 判断⽤户名是 admin 并且密码是 123456 时, 在控制台输出: 登录成功!
3. 否则在控制台输出: 登录信息错误!
name=input("请输入用户名")
pwd=input("请输入密码")
if name=='admin' and pwd== '123456':
print("登录成功!")
else:
print("登录信息错误!")
案例⼆:
1. 定义两个整数变量python_score、c_score,使⽤ input获取成绩 编写代码判断成绩
2. 要求只要有⼀⻔成绩 > 60 分就输出合格
```上面有,自己找
案例三:
1. 获取⽤户输⼊的⽤户名
2. 判断⽤户名是 admin 时, 在控制台输出: 欢迎 admin 登录!
3. ⽤户名是 test 时, 在控制台输出: 欢迎 test 登录!
4. 如果是其他信息, 在控制台输出: 查⽆此⼈!
name=input("请输入用户名")
elif 多重判断
if 条件1:
条件1满足执行的代码
……
elif 条件2:
条件2满足时,执行的代码
……
elif 条件3:
条件3满足时,执行的代码
……
else:
以上条件都不满足时,执行的代码
……
-
需求
1. 定义 score 变量记录考试分数 2. 如果分数是 ⼤于等于 90分 显示 优 3. 如果分数是 ⼤于等于 80分 并且 ⼩于 90分 显示 良 4. 如果分数是 ⼤于等于 70分 并且 ⼩于 80分 显示 中 5. 如果分数是 ⼤于等于 60分 并且 ⼩于 70分 显示 差 6. 其它分数显示 不及格
score = float(input("请输入考试分数")) if score >= 90: print("优") elif score >= 80: print("良") elif score >= 70: print("中") elif score >= 60: print("差") else: print("不及格")
if的嵌套
if 条件1:
条件1 满足执行的代码
if 条件1基础上的条件2:
条件2 满足时,执行的代码
# 条件2不满足的处理
else:
条件2 不满足时,执行的代码
# 条件1 不满足的处理
else:
条件1 不满足时,执行的代码
需求
取款机取钱的过程, 假定 你的密码是: 123456, 账户余额为 1000
1. 提示⽤户输⼊密码
2. 判断密码是否正确
3. 密码正确后,提示输⼊取款的⾦额,
4. 判断取款的⾦额和余额的关系
#代码:
pwd = input("请输入你的密码:")
if pwd == "123456":
print("密码正确")
money = int(input("请输入取款金额:"))
if money <= 1000:
print("取款成功!")
else:
print("余额不足")
else:
print("密码错误,请重试")
练习
需求:
假定某⽹站⽤户名固定为 'admin', 密码固为'123456',验证码 固定为 '8888'
1. 获取⽤户输⼊的⽤户名,密码和验证码
2. 先判断验证码是否正确,如果正确打印输出验证码正确,再
判断⽤户名和密码是否正确
3. 如果验证吗不正确,直接输出 验证码不正确,请重新输⼊
#代码:
name=input("请输入用户名:")
pwd=input("请输入密码")
code=input("请输入验证码")
if code=='8888':
print("验证码正确")
if name=='admin' and pwd=='123456':
print("登陆成功")
else:
print("账号或者密码不正确!")
else:
print("验证码不正确,请重新输⼊")
综合应用-石头剪刀布
需求
1. 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
2. 电脑随机出拳 —— 先假定电脑只会出石头,完成整体代码功能
3. 比较胜负
胜负规则:
• 石头 胜 剪刀
• 剪刀 胜 布
• 布 胜 石头
x = int(input("请输入要出的拳-石头(1)/剪刀(2)/布(3)"))
y = 1 # 暂时默认为石头
if x == y:
print("心有灵犀,再来一盘!")
elif x == 1 and y == 2:
print("x出石头,y出剪刀,胜利")
elif x == 1 and y == 3:
print("x出石头,y出布,失败")
elif x == 2 and y == 1:
print("x出剪刀,y出石头,失败")
elif x == 2 and y == 3:
print("x出剪刀,y出布,胜利")
elif x == 3 and y == 1:
print("x出布,y出石头,胜利")
elif x == 3 and y == 2:
print("x出布,y出剪刀,失败")
player = int(input("请输入要出的拳-石头(1)/剪刀(2)/布(3)"))
computer = 1 # 暂时默认为石头
if ((player==1 and computer==2) or (player==2 and computer==3) or (player==3 and computer==1)):
print("噢耶!!!电脑弱爆了!!!")
elif player == computer:
print("心有灵犀,再来一盘!")
else:
print("不行,我要和你决战到天亮!")
随机数的处理
1. 在Python中,要使用随机数,首先需要导入随机数的模块(工具包)
import random
2. 调用random模块中的randint方法可以生成随机数
r = random.randint(a, b) //返回[a, b]之间的整数,包含 a 和 b
random.randint(12, 20) // 生成的随机数n: 12 <= n <= 20
random.randint(20, 20) // 结果永远是 20
random.randint(20, 10) // 该语句是错误的,下限必须小于上限
import random
x = int(input("请输入要出的拳-石头(1)/剪刀(2)/布(3)"))
y = random.randint(1, 3)
if x == y:
print("真巧,继续")
elif x == 1 and y == 2:
print("x出石头,y出剪刀,胜利")
elif x == 1 and y == 3:
print("x出石头,y出布,失败")
elif x == 2 and y == 1:
print("x出剪刀,y出石头,失败")
elif x == 2 and y == 3:
print("x出剪刀,y出布,胜利")
elif x == 3 and y == 1:
print("x出布,y出石头,胜利")
elif x == 3 and y == 2:
print("x出布,y出剪刀,失败")
循环语句
while语句基本语法
- 语法
1. 循环的初始条件(计数器)
2. 循环的终⽌条件
while 判断条件:
判断条件成⽴执⾏的代码
判断条件成⽴执⾏的代码
判断条件成⽴执⾏的代码
3. 计数器加1
- 需求
打印 100 遍 "媳妇儿,我错了"
- 代码
i=1
while i<=100 :
print("媳妇儿,我错了")
i=i+1
#循环计算
#需求: 计算0~100所有数字的累加和结果
s=0
i=0
while i<=100:
s+=i
i=i+1
print(s)
死循环 & 关键字break ;continue
死循环: 是由于 写代码的人 不小心造成 属于bug
由于循环条件始终满足, 程序持续执行起来不会停止的现象,称为死循环
无限循环:是写代码的⼈ 故意这么写.
⽆限循环中,⼀般会存在⼀个 if 判断语句, 当这个判断语句的条件成⽴, 执⾏ break 语句,来终⽌循环.
关键字 break:
当程序代码执⾏遇到 break, break 所在的循环就会被终⽌执⾏.(终⽌循环)
关键字 continue:
当程序代码执⾏遇到 continue, continue后续的代码不执⾏,但是会继续下⼀次的循环(结束本次循环,继续下⼀次循环)
break 和 continue 只能⽤在循环中.
#循环版本的石头剪刀布
import random
while True:
x = int(input("请输入要出的拳-石头(1)/剪刀(2)/布(3)"))
y = random.randint(1, 3)
if x==0: #输入0,执行break;游戏结束
break
if x == y:
print("真巧,继续")
elif x == 1 and y == 2:
print("x出石头,y出剪刀,胜利")
elif x == 1 and y == 3:
print("x出石头,y出布,失败")
elif x == 2 and y == 1:
print("x出剪刀,y出石头,失败")
elif x == 2 and y == 3:
print("x出剪刀,y出布,胜利")
elif x == 3 and y == 1:
print("x出布,y出石头,胜利")
elif x == 3 and y == 2:
print("x出布,y出剪刀,失败")
for 循环
-
语法
for 临时变量 in 容器: 重复执行的代码1 重复执行的代码2 ...
-
需求
1. 遍历字符串 "itheima" 2. 添加逻辑判断,遇到字母e的时候退出循环
-
代码
str1='itheima' for i in str1: if i=='e': break print(i)
-
for指定次数的循环:range()语法
for 临时变量 in range(循环次数): 循环内部执行的代码
循环次数为整数类型数据
-
需求代码
#用for-rang()打印 100 遍 "媳妇儿,我错了" for i in range(100): print("媳妇儿,我错了") #i=0-99
-
例题
#使用for循环实现计算0~100所有数字的累加和结果 s=0 for i in range(101): s+=i print(s)
阶段综合案例
模拟破解系统密码
需求:
1. 提示用户输入登录系统的用户名和密码
2. 校验用户名和密码是否正确(正确的用户名:admin、密码:123456)
3. 如果用户名和密码都正确,打印“登录成功!”,并结束程序
4. 如果用户名或密码错误,打印“用户名或密码错误!”,提示用户继续输入用户名和密码登录
5. 如果用户输入的用户名为“exit”,则退出程序
while True:
name = input("请输入用户名")
if name == "exit":
break
pwd = input("请输入密码")
if name == "admin" and pwd == "123456":
print("登录成功!")
break
else:
print("用户名或密码错误!请继续输入")
标签:elif,01,name,python,代码,基础,print,input,输入
From: https://www.cnblogs.com/xcq-bj/p/18301695