一、判断语句
1、if条件判断语句单分支
注意:if和else后面需要加上一个冒号、if和else语句下面的一行需要默认空一个tab键
name = input('请输入您的用户名:')if name == 'admin':print('管理员')else:print('普通用户')num = 5if num > 5:print('美女')else:print('帅哥')
三目运算 :只适用于if条件判断语句的单分支
a = 6if a >= 6:print("ok")else:print("no")name = input('请输入您的用户名:')print('在成都') if name == 'duoceshi' else print('在深证')# 等同于以下代码name = input('请输入您的用户名')if name == 'duoceshi':print('在成都')else:print('在深证')
dict1 = {'name':'xiaowang','age':18}# contains:包含 判断class是否包含在dict1字典内if dict1.__contains__('class') is True:print(dict1)else:dict1['class'] =print(dict1)# 以上代码的三目运算dict1 = {'name':'xiaowang','age':18}print(dict1) if dict1.__contains__('class') is True else dict1.setdefault('class',)print(dict1)
2、if条件判断语句多分支
name = input('请输入您的用户名:')if name == 'admin':print('管理员上线')elif name == 'dcs8':print('VIP用户上线')elif name == '张三':print('穷人上线')else:print('普通用户上线')
pwd = input("请输入账号:")if pwd == "艾欧尼亚":print("恭喜45号机来自‘艾欧尼亚’的大神")elif pwd == "皮城女警":print("恭喜46号机来自‘皮城女警’的大神")elif pwd == "班德尔城":print("恭喜47号机来自‘班德尔城’的大神")elif pwd == "巨神峰":print("恭喜48号机来自‘巨神峰’的巨神坑")else:print("恭喜菜鸟上线")
3、if 嵌套语句
登录功能实战练习:
通过输入函数输入用户名、先判断用户名是否正确,用户名正确则进行密码的判断,如果用户名错误则提示:用户错误、请重新输入,密码错误则提示:您输入的密码有误、请重新输入,密码输入正确则登录成功
# username:admin# password:123456username = input('请输入您的用户名:')if username == 'admin':password = input('请输入您的密码:')if password == '123456':print('登陆成功')else:print('你输入的密码有误,请重新输入')else:print('用户错误、请重新输入')user1 =input("请输入用户名:")if user1 == "admin":pwd = input("请输入您的密码:")if pwd =="123456":yzm = input("请输入您的验证码:")if yzm == "abc":print("登录成功")else:print("验证码错误,登录失败")else:print("密码错误,登录失败")else:print("输入的用户名错误,登录失败")
二、while循环语句
while什么时候进入循环? 当循环条件成立时,进入循环
while什么时候退出循环? 当循环条件不成立时,退出循环
注意:在写while循环语句时一定要让循环条件发生变化,否认会陷入死循环中
1、while 死循环
a = 1 # 定义变量sum = 0 # 定义一个接受参数的变量(求和)while a <= 6:sum += aprint("当前循环第:%d"%a)
2、while 跳出死循环
a = 0sum = 0while a <= 6:sum += aa+= 1 # 退出循环条件print("当前循环第:%d"%a) # print打印语句在while循环里面,会打印每一次的循环结果print("当前循环第:%d"%a) # print打印语句在while循环外,则打印最后一次
3、通过while循环语句求出1-100的和
a = 1sum = 1while a<=100:sum += aa += 1print("1-100的求和为:%d" %sum)print("1-100的求和为:%d"%sum)
4、通过while循环语句求出1-100中的奇数之和
a = 1sum = 0while a<= 100:sum +=aa +=2print ("1-100的奇数只和为:%d"%sum) # 打印结果为:2500
5、通过while循环语句求出1-100中的偶数之和(包含100)
a = 0sum = 0while a<= 100:sum +=aa +=2print("1-100的偶数只和为:%d"%sum) # 打印结果为:2550
6、通过while循环语句求出1-100中的奇数和偶数之差
a = 0# 定义一个变量来控制循环次数jishu = 0 # 定义一个奇数来接受取余后的奇数只和oushu = 0 # 定义一个偶数来接受取余后的偶数只和while a<= 100:if a % 2 == 0:oushu += aelse:jishu += aa +=1g = jishu-oushuprint("1-100中的奇数和偶数之差为:%d"%g) # 打印结果为:-50
三、for循环语句
1、range()函数 遍历一个数字序列,python中内建的函数range 一般和for循环一起用
range(5) # 打印0到5,不包含5range(1,5) # 打印1到5,不包含5range(1,5,2) # 打印1到5,间2位取,不包含5
2、for循环的语法格式如下
for i in range(10):# 遍历当前0—10 这个数的所有print(i) # 运行结果为:0 1 2 3 4 5 6 7 8 9print(i,end=' ') # 运行结果为:0 1 2 3 4 5 6 7 8 9注:加上 ,end=' ' 打印方式为横向输出for i in range(1,12): # 遍历包含开头,不含结束print(i,end=' ')# 运行结果为:1 2 3 4 5 6 7 8 9 10 11for i in range(4,10):print(i,end=' ')# 运行结果为:4 5 6 7 8 9for i in range(1,10,2): # 隔位取值 隔位取值最小为1print(i,end=' ')# 运行结果为:1 3 5 7 9for i in range(10,0,-2): # 隔位取值 隔位取值最小为1print(i,end=' ')# 运行结果为:10 8 6 4 2
3、用for循环求出1—100的和
sum = 0for i in range(1,101):sum += iprint("1—101的和为:%d"%sum) # 运行结果为 5050
4、用for循环求出1—100的奇数和
sum = 0for i in range(1,101,2):sum += iprint("1—101的和为:%d"%sum) # 运行结果为 2500
5、for 可以去遍历的对象:字符串、字典、列表、元组、集合
5.1、for循环遍历字符串
str ="hello" # 定义一个变量为str,参数为字符串 hellofor i in str:print(i,end=' ') # 运行结果为:h e l l oprint(type(i)) # 运行结果为<type 'str'> 查看类型为:字符串
5.2、for循环遍历列表
lis1 = [1,4,2,3,5,"text"]for i in lis1:print(i,end=' ')# 运行结果为:1 4 2 3 5 textprint(type(lis1)) # 运行结果为<type 'list'> 查看类型为:列表
5.3、for + range函数循环遍历列表
lis1 = [1,4,2,3,5,"text"]for i in range(len(lis1)): # len 长度函数print(i)# 运行结果为:0 1 2 3 4 5
5.4、for循环遍历元组
tuple1 = (1,4,2,3,5,"text")for i in tuple1:print(i,end=' ')# 运行结果为:1 4 2 3 5 text
5.5、用for循环遍历字典
字典就是以键值对的方式呈现 键:key 值:value
在字典里键是唯一的 值不唯一
dic1 = {"name":"zhangsan","age":"18"}print(dic1) # 运行结果为:{'age': '18', 'name': 'zhangsan'}print(type(dic1)) # 运行结果为:<type 'dict'> 类型为:dict 字典for k,v in dic1.items(): # items( ) 显示键值对函数print(k,v) # 运行结果为:age 18 name zhangsan
5.6、遍历集合
test = 'hello'set1 = set(test)for i in set1:print(i,end=' ')注意点:不能被遍历num = 123for i in num:print(i) # TypeError: 'int' object is not iterable int整形不能被迭代
练习
用for循环打印出字符串 duocesi每个字符以及对应的字符索引值、并且格式化输出
str1 = 'duoceshi'for i in str1:print('%s对应的索引值为%d'%(i,str1.index(i)))
四、continue语句
用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
list = [1,2,3,4,5,6,7,8,]for i in list:if i == 4:continueprint(i) # 运行结果为:1 2 3 5 6 7 8for i in range(10):if i == 6:continueprint(i,end=' ') # 0 1 2 3 4 5 7 8 9
五、break语句
语句是会立即退出循环,在其后边的循环代码不会被执行。
list = [1,2,3,4,5,6,7,8,]for i in list: # 通过for遍历if i == 5: # 设定遍历的值break # 终止退出print(i) # 运行结果为:1 2 3 4for i in range(10):if i == 6:breakprint(i)