条件语句
if语法
if True: print("hello") print("world!")
输出:
hello
world!
举例:
""" 问题:输入一个年龄。若大于18岁,则可以上网 重点:由于input输入的是字符串类型,故不能与18比较,所以要进行int类型转换 """ age = int(input("请输入您的年龄:")) if age > 18: print(f'你的年纪是{age},可以上网!')
输出:
请输入您的年龄:19
你的年纪是19,可以上网!
扩展:
age = int(input("请输入您的年龄:")) if age < 18: print(f'你的年纪是{age},太小了!') elif(age >= 18) and (age <= 60): print(f'您的年纪是{age},合法年纪!') elif age > 60: print(f'您的年纪是{age},太老了!')
注释: (age >= 18) and (age <= 60) 可以简化为:18 <= age <= 60
if嵌套
""" money = 1,代表有钱,反之没钱 seat = 1,代表有座,反之没座 """ money = 1 seat = 0 if money == 1: print("有钱,请上车") if seat != 1: print(" 没座,请站着") else: print(" 有座,赶紧坐") else: print("没钱,后边跑")
案例:猜拳游戏
扩充:随机数
1、导入random模块
import random2、使用函数
random.randint(开始,结束)
""" 1、出拳 玩家:手动输入:plater 剪刀:0、石头:1,布:2 电脑:随机输入 随机数:computer 2、判断 玩家赢 玩家剪刀,电脑布 玩家石头,电脑剪刀 玩家布,电脑石头 平局 玩家剪刀,电脑剪刀 玩家石头,电脑石头 玩家布,电脑布 电脑赢 玩家剪刀,电脑石头 玩家石头,点胶布 玩家布,电脑剪刀 """ import random computer = random.randint(0,2) player = int(input("请出拳:0--剪刀,1--石头,2--布:")) print(f'电脑:{computer}') if((player == 0) and (computer ==2 ) or (player == 1) and (computer == 0) or (player == 2) and (computer == 1)): print("玩家获胜!") elif player == computer: print("平局") else: print("电脑获胜")
三目运算符
语法:条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
a = 11 b = 22 c = a + b if a < b else a - b print(c)
循环语句
while循环
语法:
举例1:1-100整数相加,然后输出结果
""" 1-100整数相加,然后输出结果 """ i = 1 result = 0 while i <= 100: result += i i += 1 print(f'1+....+100={result}')
举例2:1-100内的偶数相加,然后输出结果
方法1:
i = 0 even_result = 0 while i <= 100: even_result += i i += 2 print(f'0+2+...+100={even_result}')
方法2:
i = 1 even_result = 0 while i <= 100: if i % 2 == 0: even_result += i i += 1 print(f'0+2+...+100={even_result}')
while嵌套循环
""" j=0 j=1 j=2 j=3 i的第1遍循环 j=0 j=1 j=2 j=3 i的第2遍循环 j=0 j=1 j=2 j=3 i的第3遍循环 j=0 j=1 j=2 j=3 i的第4遍循环 i的循环结束 """ i = 0 while i <= 3: j = 0 while j <= 3: print(f'j={j}') j += 1 print(f'i的第{i+1}遍循环') i += 1 print("i的循环结束")
举例3:
""" 打印星号:正方形 ***** ***** ***** ***** ***** """ i = 0 while i <= 4: j = 0 while j <= 4: print("*",end="") j += 1 print() i += 1
举例4:
""" 打印星号:三角形 * ** *** **** ***** """ i = 0 while i <= 4: j = 0 while j <= i: print("*",end="") j += 1 print() i += 1
举例5:九九乘法表
""" 九九乘法表 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 """ i = 1 while i <= 9: j = 1 while j <= i: print(f'{i} * {j} = {i*j}',end=" ") j += 1 print() i += 1
break
终止整个循环
""" i == 4时,终止整个循环 """ i = 1 while i <= 5: if i == 4: print("结束了") break print(i) i += 1输出:
1
2
3
结束了continue
退出当前一次循环而执行下一次循环
""" i == 4时,终止整个循环 在使用continue之前一定要修改计数器,否则陷入死循环 """ i = 1 while i <= 5: if i == 4: print("跳过") i += 1 continue print(i) i += 1输出:
1
2
3
跳过
5
while -else
循环正常执行完毕后,才执行else的内容:
""" 5 4 3 2 1 结束了 """ i = 5 while i > 0: print(i) i -= 1 # 循环正常结束后才执行 else: print("结束了")
break的使用:
""" 5 4 3 """ i = 5 while i > 0: print(i) i -= 1 if i == 2: break # 循环正常结束后才执行 else: print("结束了")
continue的使用:
""" 5 4 3 跳过2 1 结束了 """ i = 5 while i > 0: if i == 2: i -= 1 print("跳过2") continue print(i) i -= 1 # 循环正常结束后才执行 else: print("结束了")
for循环
语法:
break:
""" for循环中使用break: h e l l o w o 遇到r结束 """ src = 'helloworld' for i in src: if i == 'r': print("遇到r结束") break print(i)continue:
""" for循环中使用continue: h e l l o w o 遇到r跳过 l d """ src = 'helloworld' for i in src: if i == 'r': print("遇到r跳过") continue print(i)
for-else
""" h e l l o w o r l d 结束循环 """ src = 'helloworld' for i in src: print(i) # for 循环正常结束后,才会执行else else: print("结束循环")
break的使用:
""" h e l l o w o r """ src = 'helloworld' for i in src: print(i) if i == 'r': break # for 循环正常结束后,才会执行else else: print("结束循环")
continue的使用:
""" h e l l o w o 跳过r l d 结束循环 """ src = 'helloworld' for i in src: if i == 'r': print("跳过r") continue print(i) # for 循环正常结束后,才会执行else else: print("结束循环")
实例总结
用户信息管理
def info_put(): """显示功能界面:""" print('请输入序号:————————————————') print('1、添加用户信息') print('2、删除用户信息') print('3、修改用户信息') print('4、查询用户信息') print('5、显示所有用户信息') print('6、退出系统') print('—'*27) #定义存储用户信息字典的列表 info = [] def add_user(): """添加用户""" new_id = input('请输入id:') new_name = input('请输入名字:') new_tel = input('请输入电话:') #声明info为全局列表 global info #判断用户是否重复 for i in info: if new_name == i['name']: print('--此用户已存在,请重新输入!--') return #定义存储用户信息的字典 info_dict = {} info_dict['id'] = new_id info_dict['name'] = new_name info_dict['tel'] = new_tel #追加字典到列表中 info.append(info_dict) print(info) def del_user(): """删除用户""" del_name = input('请输入要删除用户的名字:') global info for i in info: if del_name == i['name']: print('删除成功!') info.remove(i) break else: print('该用户不存在!') print(info) def modify_user(): """ 修改用户的电话号 :return: """ modify_name = input('请输入要修改的用户名:') global info for i in info: if modify_name == i['name']: modify_tel = input('请输入新的手机号:') i['tel'] = modify_tel break else: print('该用户不存在!') print(info) def see_user(): """ 查看用户信息 :return: """ see_name = input('请输入要查找的用户名:') global info for i in info: if see_name == i['name']: print('查找到的用户信息如下:') #单引号和双引号的使用可以一起用 print(f"姓名是{i['name']}的学号是{i['id']},手机号是{i['tel']}") break else: print('该学员不存在!') def print_all(): """ 打印所有用户信息 :return: """ print("显示所有用户信息:") for i in info: print(f"姓名是{i['name']}的学号是{i['id']},手机号是{i['tel']}") while True: #显示功能界面 info_put() #用户输入序号 num = int(input('请输入功能序号:')) #功能判断 if num == 1: #print('添加') add_user() elif num == 2: #print('删除') del_user() elif num == 3: #print('修改') modify_user() elif num == 4: #print('查询') see_user() elif num == 5: #print('显示所有') print_all() elif num == 6: #print('退出') print("确定要退出么?yes or no") exit_flag = input() if exit_flag == 'yes': break else: print('输入错误,请重新输入!') """ 请输入序号:———————————————— 1、添加用户信息 2、删除用户信息 3、修改用户信息 4、查询用户信息 5、显示所有用户信息 6、退出系统 ——————————————————————————— 请输入功能序号: """