Python基础——条件判断、循环语句(200210)

Python——条件判断语句

Python——判断语句

1.if……语句

  1)格式规范

1 if ××××:
2     #条件 #英文冒号 #自动缩进4个空格
3     print(××××)
4 
5 # 命令逻辑:如果……就……
6 # 命令格式:if条件后跟英文冒号,回车后自动缩进

  2)举例:

1 #判断输入数字是否大于10,大于10输出“你真棒!”,小于10不输出结果
2 num = int(input('请输入数字:'))
3 if num >= 10:
4     print("你真棒!")

2.if……else……语句

  1)格式规范

1 if  ××××:
2     #条件
3     print(××××)
4 else:    #与if语句同一级别
5     #当if条件不满足时
6     print(××××)
7 
8 # 命令逻辑:如果……不满足……就……
9 # 命令格式:if 与 else属于同一级别,if不满足才会执行else,两者执行其中之一

   2)举例:

1 # #判断输入数字是否大于10,大于10输出“你真大!”,小于10输出“你真小!”
2 num = int(input('请输入数字:'))
3 if num >= 10:
4     print("你真大!")
5 else:
6     print("你真小!")

3.if……elif……else……语句

  1)格式规范

 1 if ××××:
 2     #条件1
 3     print(××××)
 4 elif ××××:
 5     #条件2
 6     print(××××)
 7 elif ××××:
 8     #条件3
 9     print(××××)
10 else:    #与if、else语句都同一级别
11     #当if和elif条件都不满足时
12     print(××××)
13 
14 # 命令逻辑:如果……不满足……就下一个……再下一个……
15 # 命令格式:if、elif、else都属于同一级别且条件都是互斥的

   2)举例:

1 # 判断输入的数字是否在10~20之间,0~10输出“有点小!”,10~20输出“范围正好”,大于30输出“有点大!”
2 num = int(input('请输入数字:'))
3 if 0 < num < 10:
4     print("有点小!")
5 elif 10 <= num <= 20:
6     print("范围正好!")
7 else:
8     print("有点大!")

 4.if……else……嵌套

  1)格式规范

 1 if ××××: #条件套条件,就是在基础条件上再附加一个额外条件
 2     print(××××)
 3     if ××××: #额外条件需要缩进
 4         print(××××)
 5     else:
 6         print(××××)
 7 else:   #根据缩进判断层级,根据层级按行执行
 8     print(××××)
 9     if ××××:
10         print(××××)
11     else:
12         print(××××)

  2)举例

 1 # 判断学生成绩所属范围
 2 # 1.学生成绩大于等于60分,及格:
 3 #   1)成绩大于等于80分,优秀:
 4 #   2)否则,一般;
 5 # 2.学生成绩小于60分,不及格:
 6 #   1)成绩小于30,学渣
 7 #   2)成绩大于等于30,抓紧抢救!
 8 num = int(input('输入学生成绩:'))
 9 if num >= 60:
10     print('及格')
11     if num >= 80:
12         print('优秀')
13     else:
14         print('一般')
15 else:
16     print('不及格')
17     if num < 30:
18         print('学渣')
19     else:
20         print('抓紧抢救!')
21 print('程序结束')

Python——循环语句

1.while 循环

  1)正常循环(活循环)

1 # 循环
2 num = 0  # 定义变量
3 while num < 5:  # 设定条件
4     num += 1  # 变量变化,不变换会变成死循环
5     print(num)

  2)死循环(条件变量需要变化)

1 # 死循环
2 num = 0  # 定义变量
3 while num < 5:  # 设定条件
4     print(num)  

  3)while 循环练习

  ① 求 1~100 内的所有数的和

1 sum = 0
2 n = 1
3 while n < 100:
4     sum += n
5     n += 1
6 print(sum)

  ② 求1-2+3-4+5 ... 99的所有数的和

 1 sum = 0
 2 n = 1
 3 while n < 100:
 4     temp = n % 2
 5     if temp == 1:
 6         sum = sum + n
 7     else:
 8         sum = sum - n
 9     n += 1
10 print(sum)

2.for……in……循环

  1)for……in……循环,遍历列表

  ① 格式规范

1 # for……in……循环,遍历列表
2 for i in [1,2,3,4,5]:   # 遍历列表,英文冒号
3     print(i*5)          # 缩进,重复执行

   ② 举例

1 # 打印列表里所有元素2 list = ['','','','','']
3 for Love in list:
4     print(Love)

  2)for……in……循环,遍历字典

  ① 格式规范

1 # for……in……循环,遍历字典
2 for i in {'中国':'北京','日本':'东京','法国':'巴黎'}:   # 遍历字典,英文冒号
3     print(i)                                          # 缩进,重复执行 

  ② 举例

1 # 打印字典里的键和值
2 dict={'小明':'买醋','小红':'买油','小白':'买盐','小张':'买米'}
3 for i in dict:
4     print(i+dict[i])
5 # =>小明买醋
6 # =>小红买油
7 # =>小白买盐
8 # =>小张买米

   3)for……in……循环,遍历元组

   ① 格式规范

1 # for……in……循环,遍历元组
2 for i in (1,2,3,4,5):   # 遍历元组,英文冒号
3     print(i)          # 缩进,重复执行

  ② 举例

1 # 将元组中的各个元素进行输出
2 tuple = ('','','','','')
3 for i in tuple:
4     print(i)

  4)  for……in……循环,遍历字符串

  ① 格式规范

1 # for……in……循环,遍历字符串
2 for i in '我爱你':   # 列表字符串,英文冒号
3     print(i)          # 缩进,重复执行

  ② 举例

1 # 将字符串中的各个字符进行输出
2 str = '床前明月光,疑是地上霜!'
3 for i in str:
4     print(i)

  5)for……in……循环,range()函数

  ① range(x)

1 for i in range(3): #使用range(x)函数,生成一个 0 到 x-1 的整数序列
2     print(i)
3 # =>0
4 # =>1
5 # =>2

  ② range(a,b)

1 for i in range(1,5): #使用range(a,b)函数,生成一个 连续取a不取b的整数序列(取头不取尾)
2     print(i)
3 # =>1
4 # =>2
5 # =>3
6 # =>4

  ③ range(a,b,c)

1 for i in range(1,10,2): #使用range(a,b,c)函数,生成一个连续间隔为c的取a不取b的整数序列(取头不取尾)
2     print(i)
3 # =>1
4 # =>3
5 # =>5
6 # =>7
7 # =>9

  ④ 举例

1 # 采用for循环完成1到100内所有整数分别乘以5的计算
2 for i in range(1,101):
3     print(i*5) 

 

布尔运算和布尔值

1.布尔值和布尔运算

  布尔值分为真(True)和假(False)两种,计算真假的过程叫做 “布尔运算” 。

  1)举例 

1 print(3<5)              # True
2 print(3>5)              # False
3 print('长安'=='长安')    # True
4 print('长安'!='金陵')    # True

  2) while 、if 与布尔值

  ①while循环与布尔值

1 while True:
2     print('hello world!')  # 条件为真,print语句一直执行
3 
4 while False:
5     print('hello world!')  # 条件为假,不执行下面语句

  ② if 与布尔值

1 if True:
2     print('正确')
3 # =>正确
4 if False:
5     print('错误')  #不执行

  3)布尔值真假判断

假的 真的
Flase True
0 5(任意数字) 8.4(任意浮点数)
'' (空字符串) ‘我爱你’(任意非空字符串)
[] (空列表) [1,2,3]
{} (空字典) {'一':1,'二':2,'三':3}
None  

  4)布尔值之间的运算

  ① and 和 or 运算

and 运算 or 运算
True and True 为真  True or True 为真
True and False 为假  True or False 为真
True and False 为假  True or False 为真
False and False 为假  False or False 为假
 1 # and 和 or 运算
 2 a = 1
 3 b = -1
 4 print('and 运算')
 5 if a == 1 and b == 1:  #【a=1并且b=1】,两个条件都满足,才为True
 6     print(True)
 7 else:
 8     print(False)
 9 
10 print('or 运算')       #【a=1或者b=1】,只要两个条件满足其中之一,就为True
11 if a == 1 or b == 1:
12     print(True)
13 else:
14     print(False)
15 
16 # and 运算
17 # False
18 # or 运算
19 # True

  ② not运算

not True 为假
not False 为真
1 a = True
2 b = False
3 print(not a)
4 print(not b)

     ③ in 和 not in 运算

1 # 判断输入的数字是否在指定列表中,若在输出‘True’,不在输出‘False’
2 list = [1,2,3,4,5,6,7,8,9,10]
3 a = input('请输入数字:')
4 if a in list:
5     print(True)
6 else:
7     print(False)

break 、continue、pass 和 else 语句

1.break语句

  break语句是“打破”的意思,用来结束所有循环,跳出循环,一般写作 if…break。

 1 # break语句在for循环中的应用
 2 for i in range(5,10):
 3     print (i)
 4     if i>7:
 5         break
 6 
 7 # break语句在while循环中的应用
 8 a=1
 9 while a:
10     print (a)
11     a=a+1
12     if a==10:
13         break
14 
15 # break语句在双层循环中
16 a=10
17 while a<=12:
18     a=a+1
19     for i in range(1,7):
20         print (i)
21         if i==5:
22             break

2.continue语句

  终止当前循环,开始下一次循环,while循环体内continue后语句不在执行。

1 # continue 语句应用于while循环中
2 n = 0
3 while n < 10:
4     n = n + 1
5     if n % 2 == 0:      # 如果n是偶数,执行continue语句
6         continue        # continue语句会直接继续下一轮循环,后续的print()语句不会执行
7     print(n)

3.pass语句

  pass 代指空代码,无意义,仅仅用于表示代码块

1 for i in range(5) :
2     if i < 3:
3         print(i)
4     else :
5         pass  # 不做任何事情,就是用作占位符

4.else语句

1 count=0
2 while count<10:
3     print(count)
4     count=count+1
5 else:
6     print('else')
7 print('......')

5.举例

  1)使用 while 循环输入1 2 3 4 5 6 8 9 10

 1 # 使用 while 循环输入1 2 3 4 5 6 8 9 10
 2 # 方法一
 3 num = 0
 4 while num < 10:
 5     num += 1
 6     if num == 7:
 7         continue
 8     print(num) 
 9 
10 # 方法二   
11 num = 0
12 while num < 10:
13     num += 1
14     if num != 7:
15         print(num)     
16 
17 # 方法三
18 num = 0
19 while num < 10:
20     num += 1
21     if num == 7:
22         pass
23     else:
24         print(num)  

  2)用户密码登陆(共有三次机会)

 1 # 用户密码登陆(三次机会)
 2 first_code = '123456'   # 正确密码
 3 i = 3                   # 登陆次数设置
 4 while True:
 5     i -= 1              # 登陆次数逐次减少
 6     user_code = input('请用户输入密码:')  # 用户输入密码
 7     if user_code == first_code:          # 判断用户输入的密码和正确密码是否一致
 8         print('登陆成功!')
 9         break                            # 密码正确,跳出循环
10     else:
11         if i == 0:                       
12             print('程序结束,请联系人工服务修改密码!')
13             break                        # 超过3次,程序结束,跳出循环
14         else:
15             print(f'登陆失败!你还有{i}次机会')

  3)猜数字小游戏,(随机生成1~100内的整数数字,玩家有6次机会猜测)

 1 # 猜数字小游戏
 2 import random 
 3 number=random.randint(1,100)
 4 guess = 0
 5 tries = 0
 6 print('---------------------------')
 7 print('猜数字游戏(0---99),你有6次机会')
 8 print('---------------------------')
 9 while guess != number and tries<6:
10     print(f'你剩余次数{6-tries}')
11     guess = int(input('请输入您猜的数字: '))
12     if guess < number:
13         print('猜小了')
14     if guess > number:
15         print('猜大了')
16     tries += 1
17 if guess == number:
18     print('恭喜你,猜对了,给你一朵小红花')
19 else:
20     print(f'很遗憾,6次机会已经用完,正确答案为{number},游戏结束!' )

  4)剪刀石头布

 1 # 剪刀石头布
 2 import random
 3 import time
 4 punches = ['石头','剪刀','']
 5 computer_choice = random.choice(punches)
 6 user_choice = ''
 7 user_choice = input('请出拳:(石头、剪刀、布)') 
 8 while user_choice not in punches: 
 9     print('输入有误,请重新出拳')
10     user_choice = input('请出拳:(石头、剪刀、布)')
11 time.sleep(0.5)
12 print('————战斗过程————')
13 print('电脑出了:%s' % computer_choice)
14 time.sleep(0.5)
15 print('你出了:%s' % user_choice)
16 time.sleep(0.5)
17 print('—————结果—————')
18 time.sleep(0.5)
19 if user_choice == computer_choice: 
20     print('平局!')
21 elif user_choice == punches[punches.index(computer_choice)-1]:
22     print('你赢了!')
23 else:
24     print('你输了!')
原文地址:https://www.cnblogs.com/fl-blogs/p/12273557.html