前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python-if条件判断与while/for循环

python-if条件判断与while/for循环

作者头像
suwanbin
发布2019-09-26 12:40:36
1.9K0
发布2019-09-26 12:40:36
举报

条件判断if

让计算机像人一样,能判断是非对错,根据条件做一些事情。

if

代码语言:javascript
复制
'''
------ if代码结构:-------
if 条件:
    代码体

tips:同一缩进范围内的代码被视作同一代码体,python官方推荐python缩进一次为4个空格
'''
is_happy = True
if is_happy:
    print("Nice to meet you!")
# Nice to meet you!

if else

代码语言:javascript
复制
 1 '''
 2 ------ if代码结构:-------
 3 if 条件:
 4     代码体
 5 else:
 6     代码体
 7 
 8 tips:当不满足if 的条件时就会执行到else ,运行else 中的代码
 9 
10 '''
11 is_happy = False
12 if is_happy:
13     print("Nice to meet you!")
14 else:
15     print("Today is a bad day!")
16 # Today is a bad day!

if elif else

代码语言:javascript
复制
 1 '''
 2 ------ if代码结构:-------
 3 if 条件:
 4     代码体
 5 elif 条件:
 6     代码体
 7 else:
 8     代码体
 9 
10 tips:当不满足if 的条件时就会执行到下一个elif....如果接着的都不满足,那最后执行到else 
11 
12 '''
13 math_score = 99
14 if math_score >= 90:
15     print("优秀")
16 elif math_score >= 80:
17     print("良好")
18 elif math_score >= 60:
19     print("一般")
20 else:
21     print("很遗憾,未及格!")
22 # 优秀

if 嵌套

代码语言:javascript
复制
# if可以多级嵌套,注意缩进
math_score = 99
if math_score >= 90:
    if math_score > 100:
        print("您的输入有误,请输入正确的分数(0~100)!")
    else:
        print("优秀")

循环

使用循环来替代重复往返的动作

while循环

while

代码语言:javascript
复制
'''
while 条件:
    代码体
tips:不要忘了 条件后面的 :
      代码体需要缩进4个空格
'''
i = 1
while i < 4:
    print(i)
    i += 1
# 1
# 2
# 3

死循环

代码语言:javascript
复制
# 死循环,使CPU 一直处于运算状态
i = 1
while True:
    i += 1

# 虽然也是 while True 但因其要等待用户输入信息才进入下一轮循环,并非死循环
while True:
    input("请输入信息")

while else

代码语言:javascript
复制
 1 # ---------------对于while else 结构:--------------------
 2 # 当while 循环正常循环(执行)完毕没有遇到break 后会进入else 中
 3 
 4 i = 1
 5 while i < 4:
 6     if i == 2:
 7         i += 1
 8         continue
 9     print(i)
10     i += 1
11 else:
12     print("while 循环正常执行结束,没有遇到break 提前退出")
13 
14 # 1
15 # 3
16 # while 循环正常执行结束,没有遇到break 提前退出
17 
18 # 遇到break 退出循环,则不会进入到else 中
19 i = 1
20 while i < 4:
21     if i == 2:
22         i += 1
23         break
24     print(i)
25     i += 1
26 else:
27     print("while 循环正常执行结束,没有遇到break 提前退出")
28 # 1

break:退出本层循环

continue:结束本次循环,直接进入下一次循环

代码语言:javascript
复制
 1 i = 1
 2 while i < 6:
 3     if i == 3:
 4         i += 1
 5         break
 6     print(i)
 7     i += 1
 8 print(i)
 9 # 1
10 # 2
11 # 4
12 # 执行到i == 3的if 语句时就退出了整个循环, 后面的i 只到了4 (i == 3 的时候执行了if i == 3 中的 i += 1)
13 
14 i = 1
15 while i < 6:
16     if i == 3:
17         i += 1
18         continue
19     print(i)
20     i += 1
21 print(i)
22 # 1
23 # 2
24 # 4
25 # 5
26 # 6
27 # 执行到i == 3的if 语句时就退出了本次循环,直接重新进入到了 while i < 6 这里开始下一次循环

for循环

for

代码语言:javascript
复制
'''
------for代码结构:-------
for 条件:
    代码体

tips:  for的末尾要写 :
        不要漏了代码体的缩进(4各个空格)
'''
for i in range(1, 4):
    print(i)
# 1
# 2
# 3

range()函数

代码语言:javascript
复制
'''
------- range()函数 ---------
python 2.x: range()   xrange()
    调用range()函数会生成一个列表
    调用xrange()函数会生成一个迭代器对象,只有在使用的时候才会取出里面的对象
python 3.x: range()
    同python 2.x 中的 xrange()函数
'''

break、continue: 与while 循环中一致

for else:当for 循环正常执行结束没有遇到break 时会进入 else

代码语言:javascript
复制
# ---------------对于for else 结构:--------------------
#   当for 循环正常循环(执行)完毕没有遇到break 后会进入else 中

for i in range(1, 4):
    if i == 2:
        continue
    print(i)
else:
    print("for 循环正常执行结束,没有遇到break 提前退出")

# 1
# 3
# for 循环正常执行结束,没有遇到break 提前退出

# 遇到break 退出循环,则不会进入到else 中
for i in range(1, 4):
    if i == 2:
        break
    print(i)
else:
    print("for 循环正常执行结束,没有遇到break 提前退出")
# 1

多重循环(循环嵌套)

代码语言:javascript
复制
 1 # 退出双层循环的while循环嵌套
 2 user_db = 'abc'
 3 pwd_db = '123'
 4 flag = True
 5 while flag:
 6     inp_user = input('username>>>: ')
 7     inp_pwd = input('password>>>: ')
 8     if inp_user == user_db and pwd_db == inp_pwd:
 9         print('login successful')
10         while flag:
11             cmd = input('请输入你需要的命令:')
12             if cmd == 'q':
13                 flag = False
14                 break
15             print('%s功能执行'%cmd)
16     else:
17         print('username or password error, please input again!')
18 print('退出了while循环')

  技巧:定义标志位 flag 跳出多重循环

小案例

九九乘法表

代码语言:javascript
复制
for i in range(1, 10):
    for j in range(1, i+1):
        print("%d * %d = %2d\t" %(i, j, i*j), end='')
    print()
# 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    

打印指定层数金字塔

代码语言:javascript
复制
num = int(input("输入层数 >>>:"))
level = 0
for level in range(1, num + 1):
    for i in range(num - level):
        print(" ", end='')
    for j in range(2 * level - 1):
        print("*", end='')
    print()
#   输入5
#     *
#    ***
#   *****
#  *******
# *********
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 条件判断if
    • if 嵌套
    • 循环
    • while循环
    • for循环
      • 多重循环(循环嵌套)
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档