作业详解及流程控制之for循环

1|0作业详解及流程控制之for循环

1|1一、作业详解

写代码的思路: 1.先写注释(思想逻辑和想法,先用中文把逻辑里出来) 2.在写代码的时候先考虑他的主体功能,先把主体功能写出来了之后再考虑附加功能

1|01.根据用户输入内容打印其权限

''' jason --> 超级管理员 tom --> 普通管理员 jack,rain --> 业务主管 其他 --> 普通用户 '''
解法一; # 1. 获取用户输入的用户名 username = input('请输入您的用户名') # 2. 判断输入的用户名是否正确 if username == 'jason': print('超级管理员') elif username == 'tom': print('普通管理员') elif username == 'jack' or username == 'rain': # elif username in ['jack', 'rain']: # 这样写也是对的 print('业务主管') else: print('普通用户')
解法二: a = {'jack': '超级管理员'} b = {'tom': '普通管理员'} c = {'jack': '业务主管', 'rain': '业务主管'} username = input('请输入您的用户名') if username in a: print('超级管理员') elif username in b: print('普通管理员') elif username in c: print('业务主管') else: print('普通用户')

image

1|02.编写用户登录程序

要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录 eg:black_user_list = ['jason','kevin','tony'] 如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义) eg: oscar 123
解答: black_user_list = ['jason', 'kevin', 'tony'] # 1.先获取用户名和密码 username = input('请输入您的用户名') # 3.判断输入的用户是否在黑名单里面 if username in black_user_list: print('您已被拉黑') else: password = input('请输入您的密码') # 2.判断用户名或者密码是否正确 if username == 'jia' and password == '123': print('登录成功') else: print('登录失败,用户名或者密码有错')

image

3.编写用户登录程序

用户如果登录失败 则只能尝试三次 用户如果登录成功 则直接结束程序
解答: count = 1 while True: # 5.循环体代码 if count == 4: print('登录次数已经达上限') break # 1. 获取用户名,密码 username = input('请输入您的用户名') password = input('请输入您的密码') # 2.校验用户名,密码是否正确 if username == 'jia' and password == '123': print('登录成功') break else: print('用户名或者密码有误') # 4.错误一次计数器自增1 count += 1

image

1|04.猜年龄的游戏

假设用户的真实年龄是18 编写一个猜年龄的游戏 获取用户猜测的年龄 基本要求:可以无限制猜测 每次猜错给出提示(猜大了 猜小了) 猜对则结束程序 拔高练习:每次猜测只有三次机会 一旦用完则提示用户是否继续尝试 用户通过输入n或者y来表示是否继续尝试 如果是y则继续给用户三次猜测机会 否则结束程序
解答: # 1.先定义真实年龄 real_age = 18 count = 1 # 5.增加循环体 while True: if count == 4: choic = input('是否要继续,按y/n') # 6.判断用户的输入 if choic == 'y': count += 1 else: print('欢迎━(*`∀´*)ノ亻!下次再来') break # 2.获取用户猜测的年龄 guess_age = input('你猜猜我的年龄') # 3.强转,将字符串年龄转为整型年龄 guess_age = int(guess_age) # 4.判断猜测年龄是否正确 if guess_age > real_age: print('我哪有那么大的,啊?') count += 1 elif guess_age < real_age: print('人家也没有那么小的啦') count += 1 else: print('猜对啦') break

image

1|2二、流程控制之for循环

1.for循环主要应用的主要场景:循环获取存储多个数据值 2.for循环语法结构: for 变量名 in 待遍历的数据: for循环体代码 eg: for i in name_list: print(i) 3.for循环特点:擅长遍历取值,不需要结束条件(遍历完自动结束) 4.for循环主要遍历的数据类型有(字符串,列表,元组,字典,集合) eg: info = 'hello word' for i in info: print(i) # 打印出来十位字符,输出的是单个字符,空格也算单个字符 eg: d = {'usernem':'jia', 'pwd':'123'} for i in d: print(i) # 字典参与循环的时候,只有键参与遍历 5.for循环的变量的命名需做到:见名知意,或者用常用的一些(i,k,j,item,v) 6.for循环中如果执行到break也会直接结束整个循环的 7.for循环如果执行到continue也会结束当前循环开始下一次循环 8.另外的情况: for 变量名 in 待遍历的数据: for循环体代码 else for循环代码没有被break强制结束后,运行完毕之后运行

1|3三、while循环一些补充说明

1.死循环 真正的死循环一旦执行 ,CPU功耗会急速上升,尽量不要让CPU长时间不间断的运算,对CPU 不好 2.嵌套及全局标志 一个break只能结束它所在的那层循环 有几个while的嵌套,想一次性结束,就应该多写几个break 如果不想反复写break,可以使用全局标志位

1|4四、range方法

range可以理解为是帮我们产生一个内部含有多个数字的数据 eg: for i in range(101): print(i) # [0,....100] for i in range(10,20): print(i) # 第一个是起始位置,第二个是终止位置 for i in range(10, 20, 2): # 第三个数为等差值,默认不写为1 print(i)

1|5五、作业

1.计算1-100所有的数之和 解答: a = 0 for i in range(1, 101): a += i print(a)
2.判断列表中数字2出现的次数 l1 = [11,2,3,2,2,1,2,1,2,3,2,3,2,3,4,3,2,3,2,2,2,2,3,2] 解答: count = 0 l1 = [11, 2, 3, 2, 2, 1, 2, 1, 2, 3, 2, 3, 2, 3, 4, 3, 2, 3, 2, 2, 2, 2, 3, 2] for a in l1: if a == 2: count += 1 print(count)
3.编写代码自动生成所有页网址(注意总共多少页) https://movie.douban.com/top250 解答: base_url = 'https://movie.douban.com/top250?start=%s&filter=' for i in range(1, 251, 25): print(base_url % i)
4.编写代码打印出下列图形(ps:for循环嵌套) ***** ***** ***** ***** 解答: for v in range(1, 5): for i in range(1, 6): if i == 5: print(i * '*')

__EOF__

本文作者泡芙有点甜
本文链接https://www.cnblogs.com/zx0524/p/16739307.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   小王应该在学习!  阅读(177)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示