一、语法

  • if:

if判断其实是在模拟人做判断。就是说如果这样干什么,如果那样干什么。对于ATM系统而言,则需要判断你的账号密码的正确性。

if 条件:
代码1
代码2
代码3
...
# 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)

例如:输入姑娘的年龄后,进行以下判断:

  1. 如果姑娘小于18岁,打印“未成年”

  2. 如果姑娘大于18岁小于25岁,打印“表白”

  3. 如果姑娘大于25岁小于45岁,打印“阿姨好”

  4. 如果姑娘大于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程序。

例如:猜年龄游戏升级版,有以下三点要求:

  1. 允许用户最多尝试3次

  2. 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序

  3. 如果猜对了,就直接退出

    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)

最新文章

  1. Shell命令_awk命令
  2. Xn数列(codevs 1281)
  3. c++子类调用基类方法的一个例子
  4. Fluentd安装——通过rpm方式
  5. 客户信贷管理&amp;临时授信
  6. 【M10】在构造方法内阻止资源泄漏
  7. LINUX ping 指定网卡
  8. MyEclipse使用总结——MyEclipse文件查找技巧
  9. Navicat连接到服务器端数据库
  10. vue-router 如何默认显示三级子路由
  11. Confluence 6 理解你许可证的用户数
  12. 神州数码OSPF Stub(末梢区域)和Totally Stub(完全末梢区域)的配置
  13. OSGB数据压缩
  14. 05 Zabbix triggers--action--event
  15. javaweb笔记—01(编程英语、常识、Tomcat配置问题)
  16. 【BZOJ1967】[AHOI2005]穿越磁场(最短路)
  17. Effective Java -- 对于所有对象都通用的方法
  18. Python高阶函数:map、reduece、filter
  19. python 实现过滤出tomcat日志中含有ERROR 或Exception 的行并保存在另一个文件
  20. 02--STL算法(函数对象和谓词)

热门文章

  1. Luogu P1396 营救【最小生成树/二分答案/最短路】 By celur925
  2. 超级实用的VSCode插件,帮你大幅提高工作效率
  3. UVA Recurrences 矩阵相乘+快速幂
  4. Android偏好设置(3)启动偏好设置后显示的界面PreferenceActivity和PreferenceFragment
  5. 转 ORA-00054 的解决方法
  6. Hibernate配置详解
  7. git ---合并和删除分支
  8. Scala基础篇-01变量,数据类型
  9. -webkit/IE/Firefox的一些样式
  10. 迅为IMX6Q四核核心板商业级|工业级|IMX6Plus版本|IMX6DL双核核心板