语法,if,while循环,for循环
一、语法
- if:
if判断其实是在模拟人做判断。就是说如果这样干什么,如果那样干什么。对于ATM系统而言,则需要判断你的账号密码的正确性。
if 条件:
代码1
代码2
代码3
...
# 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)
例如:输入姑娘的年龄后,进行以下判断:
如果姑娘小于18岁,打印“未成年”
如果姑娘大于18岁小于25岁,打印“表白”
如果姑娘大于25岁小于45岁,打印“阿姨好”
如果姑娘大于45岁,打印“奶奶好”
while 1:
age=input('请输入女孩的年龄')
age=int(age) if age >=45:
print('奶奶好')
if age >=25 and age<45:
print('阿姨好')
if age >=18 and age<25:
print('表白')
if age <18:
print('未成年')
- if...else:
if...else表示if成立代码成立会干什么,else不成立会干什么。
- if...elif...else
if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,elif...否则干什么。
例如:成绩评判
- 如果 成绩>=90,打印"优秀"
- 如果 成绩>=80 并且 成绩<90,打印"良好"
- 如果 成绩>=70 并且 成绩<80,打印"普通"
- 其他情况:打印"差"
# 成绩评判
score = input("your score: ")
score = int(score)
if score >= 90:
print('优秀')
# elif score >= 80 and score < 90:
elif score >= 80:
print('良好')
# elif score >= 70 and score < 80:
elif score >= 70:
print('普通')
else:
print('差')
二、while循环
循环就是一个重复的过程,我们人需要重复干一个活,那么计算机也需要重复干一个活。ATM验证失败,那么计算机会让我们再一次输入密码。这个时候就得说出我们的wile循环,while循环又称为条件循环。
while+break
循环的目的是为了让计算机和人一样工作,循环处理事情.
break的意思是终止掉当前层的循环,执行其他代码。
例如:
while True:
user_db = 'nick'
pwd_db = '123' inp_user = input('username: ')
inp_pwd = input('password: ')
if inp_user == user_db and pwd_db == inp_pwd:
print('login successful')
break
else:
print('username or password error') print('退出了while循环')
username: nick
password: 123
login successful
退出了while循环while+continue
continue的意思是终止本次循环,直接进入下一次循环。
continue不能加在循环体的最后一步执行的代码,因为代码加上去毫无意义,如下所示的continue所在的位置就是毫无意义的。
ps:注意是最后一步执行的代码,而不是最后一行。
while循环的嵌套
ATM密码输入成功还需要进行一系列的命令操作,比如取款,比如转账。并且在执行功能结束后会退出命令操作的功能,即在功能出执行输入q会退出输出功能的while循环并且退出ATM程序。
例如:猜年龄游戏升级版,有以下三点要求:
允许用户最多尝试3次
每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
如果猜对了,就直接退出
n=0
age=20
while n<4:
guess_age=int(input(f'请输入年龄,你还有{3-n}次机会哦:'))
if guess_age==age:
print('猜对了,退出程序')
break
else:
print('猜错了')
n=n+1
if n==3:
a=input('你已经输错了3次,如想继续玩,请输入y或者Y;'
'不继续请输入n或者N:')
while 1:
if a=="n"or a=="N":
print('不猜了,退出程序')
n=4
break
elif a=='y'or a=='Y':
n=0
break
三、for循环
字典也有取多个值的需求,字典可能有while循环无法使用了,这个时候可以使用我们的for循环。
for循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制。for循环也可以按照索引取值。
例如:打印1-100之间的偶数:
for i in range(1,101):
if i%2!=1:
print(i)
for+continue
for循环调出本次循环,进入下一次循环
for+break
for循环调出本层循环。
for循环嵌套
外层循环循环一次,内层循环循环所有的
例如:打印如下所示9*9乘法表:
'''
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
'''
for i in range(1,10):
for j in range(1,i+1):
print(f'{i}','*',f'{j}','=',i*j,end=' ')
print()
for+else
for循环没有break的时候触发else内部代码块。
for循环实现loading
import time print('Loading', end='')
for i in range(6):
print(".", end='')
time.sleep(0.2)
loading......
例如:打印如下所示金字塔:
'''
# max_level=5
* # current_level=1,空格数=4,*号数=1
*** # current_level=2,空格数=3,*号数=3
***** # current_level=3,空格数=2,*号数=5
******* # current_level=4,空格数=1,*号数=7
********* # current_level=5,空格数=0,*号数=9
# 数学表达式
空格数 = max_level-current_level
*号数 = 2*current_level-1
'''
max_level=5
for i in range(1,6):
current_level=i
a=5-i
b=2*i-1
print(' '*a,'*'*b)
最新文章
- Shell命令_awk命令
- Xn数列(codevs 1281)
- c++子类调用基类方法的一个例子
- Fluentd安装——通过rpm方式
- 客户信贷管理&;临时授信
- 【M10】在构造方法内阻止资源泄漏
- LINUX ping 指定网卡
- MyEclipse使用总结——MyEclipse文件查找技巧
- Navicat连接到服务器端数据库
- vue-router 如何默认显示三级子路由
- Confluence 6 理解你许可证的用户数
- 神州数码OSPF Stub(末梢区域)和Totally Stub(完全末梢区域)的配置
- OSGB数据压缩
- 05 Zabbix triggers--action--event
- javaweb笔记—01(编程英语、常识、Tomcat配置问题)
- 【BZOJ1967】[AHOI2005]穿越磁场(最短路)
- Effective Java -- 对于所有对象都通用的方法
- Python高阶函数:map、reduece、filter
- python 实现过滤出tomcat日志中含有ERROR 或Exception 的行并保存在另一个文件
- 02--STL算法(函数对象和谓词)
热门文章
- Luogu P1396 营救【最小生成树/二分答案/最短路】 By celur925
- 超级实用的VSCode插件,帮你大幅提高工作效率
- UVA Recurrences 矩阵相乘+快速幂
- Android偏好设置(3)启动偏好设置后显示的界面PreferenceActivity和PreferenceFragment
- 转 ORA-00054 的解决方法
- Hibernate配置详解
- git ---合并和删除分支
- Scala基础篇-01变量,数据类型
- -webkit/IE/Firefox的一些样式
- 迅为IMX6Q四核核心板商业级|工业级|IMX6Plus版本|IMX6DL双核核心板