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

一、作业详解

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

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

 '''
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('普通用户')

2.编写用户登录程序

要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
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('登录失败,用户名或者密码有错')

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

4.猜年龄的游戏

假设用户的真实年龄是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

二、流程控制之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强制结束后,运行完毕之后运行

三、while循环一些补充说明

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

四、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.计算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 * '*')

作业详解及流程控制之for循环的更多相关文章

  1. day22作业详解

    1.面向对象作业1 2.作业详解 点击查看详细内容 #1. class Li(object): def func1(self): print('in func1') obj = Li() obj.fu ...

  2. day6作业详解

    1.day6题目 1,老男孩好声⾳选秀⼤赛评委在打分的时候呢, 可以进⾏输入. 假设, 老男孩有10个评委. 让10个评委进⾏打分, 要求, 分数必须⼤于5分, 小于10分. 电影投票. 程序先给出⼀ ...

  3. day4列表作业详解

    1.day4题目 day4作业 1,写代码,有如下列表,按照要求实现每一个功能 li = ["alex", "WuSir", "ritian" ...

  4. Spring框架系列(8) - Spring IOC实现原理详解之Bean实例化(生命周期,循环依赖等)

    上文,我们看了IOC设计要点和设计结构:以及Spring如何实现将资源配置(以xml配置为例)通过加载,解析,生成BeanDefination并注册到IoC容器中的:容器中存放的是Bean的定义即Be ...

  5. SSIS从理论到实战,再到应用(4)----流程控制之For循环

    原文:SSIS从理论到实战,再到应用(4)----流程控制之For循环 上期回顾: SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 在SSIS体系中,控制流可能经常会遇到 ...

  6. SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环

    原文:SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环 上期回顾: SSIS从理论到实战,再到应用(4)----流程控制之For循环 上一期讲了For循环,Foreach循环相 ...

  7. [转帖]流程控制:for 循环

    流程控制:for 循环 http://wiki.jikexueyuan.com/project/linux-command/chap34.html need more study need more ...

  8. day04流程控制之while循环

    流程控制之while循环 1.什么是while循环 循环指的是一个重复做某件事的过程 2.为何有循环 为了让计算机能像人一样重复 做某件事 3.如何用循环 ''' # while循环的语法:while ...

  9. php总结3——基本函数、流程控制中的循环

    3.1 php基本函数(数学.日期.字符串) 数学函数:max         mixed max(number $arg1,number $arg2,……)  求一组数据中的最大值        m ...

  10. 流程控制之while循环for循环

    流程控制之while循环1.什么是循环 循环就是重复做某件事2.为什么要有循环 为了让计算机能够具备人重复做某件事的能力3.如何用循环 while语法: while 条件: code1 code2 c ...

随机推荐

  1. clang在编译时指定目标文件所需的最低macOS版本

    调研这个的原因,是因为有个同事在macOS 12.2上打包好的程序,放在macOS 10.15上运行时报错: Dyld Error Message:  Symbol not found: __ZNKS ...

  2. Pyside2 开发框架

    apps文件夹 tools文件夹 Main.py .ui .json Global.py Main.py 通用 函数及子线程 函数内容

  3. Linux备份文件加“时间”命令

    好记性不如烂笔头,好用. date命令用于显示及设置系统的时间或日期,如何设置时间此处不再多说. date命令非常强大,可以将数据备份命令与date命令结合在一起使用,可以便捷的分辨出每个文件的备份时 ...

  4. vue 使用vuex 刷新时保存数据

    created () { this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getIte ...

  5. 关于Docker的一些事--Docker-Compose 升级版本

    起源 近来一直在研究怎么搭建自己的私有网盘,本着虚心耐心,认真求是态度,开始做起了实验,最终种草了Nextcloud这款开源网盘,然而用私人的服务器感觉很卡,故转战到了一个基友的服务器,感觉非常吊! ...

  6. 洛谷P5309 Ynoi 2011 初始化 题解

    题面. 我也想过根号分治,但是题目刷得少,数组不敢开,所以还是看题解做的. 这道题目要用到根号分治的思想,可以看看这道题目和我的题解. 题目要求处理一个数组a,支持如下操作. 对一个整数x,对数组长度 ...

  7. 让 Serverless 更普惠,阿里云函数计算 FC 宣布全面降价,最大幅度达 37.5%

    11月5日,2022 杭州 · 云栖大会上,阿里云宣布函数计算 FC 开启全面降价,vCPU 单价降幅** 11%,其他的各个独立计费项最高降幅达 37.5%**. 本次云栖大会上,阿里云智能总裁张建 ...

  8. laravel框架 url地址传参

    //前端页面 <a title="编辑" onclick="xadmin.open('编辑','{{url("admin/Manager/edit&quo ...

  9. ArcGIS QGIS学习二:图层如何只显示需要的部分几何面数据(附最新坐标边界下载全国省市区县乡镇)

    目录 前言 准备SHP数据 ArcMap 的筛选 QGIS 的筛选 如何编写查询条件 前言 当我们用GIS软件打开一个SHP文件的时候,会显示出里面全部的几何图形,假如我只想要其中的一部分数据显示出来 ...

  10. 【文档资料】Linux、Vi/Vim常用命令、文件夹和文件介绍

    一.Linux 1.系统信息[左1] 查看磁盘空间使用情况:df+参数 查看当前指定文件或目录的大小:du 查看不同硬件信息:cat/proc/xxx 查看系统和空闲内存:free +参数 SSH退出 ...