python-N02

第六课 条件控制语句

1. 条件判断语句(if语句)
• 执行的流程:
• if语句在执行时,会先对条件表达式进行求值判断,
• 如果为True,则执行if后的语句
• 如果为False,则不执行
• 语法:if 条件表达式 :
代码块
• 代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
• 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
• 代码块就是一种为代码分组的机制
2. input() 函数
• 该函数用来获取用户的输入
• input()调用后,程序会立即暂停,等待用户输入
• 用户输入完内容以后,点击回车程序才会继续向下执行
• 用户输入完成以后,其所输入的的内容会以返回值得形式返回
3. if-else语句
• 语法:
if 条件表达式 :
代码块
else :
代码块
• 执行流程:
• if-else语句在执行时,先对if后的条件表达式进行求值判断
• 如果为True,则执行if后的代码块
• 如果为False,则执行else后的代码块)

4. if-elif-else 语句

# # int() 可以把其他类型的数据强制转换成int类型
# # input()程序阻塞功能
a = int(input('请输入1,2或者0:'))
if a == 0:
    print(123)
elif a == 1:
  print("hehe")
else:
    print('输入数值错误')
# if-elif-else 语句
value = int(input('请输入你的工资:'))
if value >= 30000:
    print('有钱任性')
elif value >= 20000:
    print('有钱真好')
elif value >= 10000:
    print('哥也月薪上万了')
elif value >= 5000:
    print('工资还说的过去')
elif value >= 2000:
    print('能养活自己了')
else:
     print("吃便便去吧")

• 语法:
if 条件表达式 :
代码块
elif 条件表达式 :
代码块
elif 条件表达式 :
代码块
........
else :
代码块
• 执行流程:
• if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
• 如果表达式的结果为True,则执行当前代码块,然后语句结束
• 如果表达式的结果为False,则继续向下判断,直到找到True为止
• 如果所有的表达式都是False,则执行else后的代码块
• 总结: if-elif-else中只会有一个代码块会执行
5. while语句
• 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
• 语法:
while 条件表达式 :
代码块
else:
代码块
• 执行流程:
• while语句在执行时,会先对while语句后面的条件表达式进行求值判断
• 如果判断结果为True,则执行循环体的逻辑(代码块)
• 循环体执行完毕之后,继续对条件表达式进行求值判断,一次类推
• 直到判断结果为False

i = 0
while i < 20:
    print(i)
    print('hello')
    i += 1
>>> 0-19
>>>hello .....hello (20)
# 求100 以内所有偶数的和
# 首先拿到1-100所有的数
# 拿到偶数
# 相加
i = 0
r = 0
while i < 100:
    i += 2
    r += i
print(r)
>>>2550
i = 0
r = 0
while i < 100:
    i += 1
    if i % 2 == 0:
        r += i
print(r)
>>>2550

6. 循环嵌套
• Python 语言允许在一个循环体里面嵌入另一个循环。
• 语法
while 表达式:
while 表达式:
代码块
代码块

i = 0
while i < 5:
    print('*', end=' ')
    print('*', end=' ')
    print('*', end=' ')
    print('*', end=' ')
    print('*', end=' ')
    print()
    i += 1
>>>
* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 
i = 0
while i < 5:
    j = 0
    while j < 5:
        print('*',end=" ")
        j += 1
    print()
    i += 1
>>>
* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 
i = 0
while i < 5:
    j = 0
    while j < i + 1:
        print('*',end=" ")
        j += 1
    print()
    i += 1
>>>
* 
* * 
* * * 
* * * * 
* * * * * 
i = 0
while i < 5:
    j = 0
    while j < 5 - i:
        print('*',end=" ")
        j += 1
    print()
    i += 1
>>>
* * * * * 
* * * * 
* * * 
* * 
* 
###99乘法表
i = 0
while i < 9:
    i += 1
    j = 0
    while j < i:
        j += 1
        print(f'{j}*{i} = {j*i}',end=" \t")
    print()
>>>
1*1 = 1     
1*2 = 2     2*2 = 4     
1*3 = 3     2*3 = 6     3*3 = 9     
1*4 = 4     2*4 = 8     3*4 = 12    4*4 = 16    
1*5 = 5     2*5 = 10    3*5 = 15    4*5 = 20    5*5 = 25    
1*6 = 6     2*6 = 12    3*6 = 18    4*6 = 24    5*6 = 30    6*6 = 36    
1*7 = 7     2*7 = 14    3*7 = 21    4*7 = 28    5*7 = 35    6*7 = 42    7*7 = 49    
1*8 = 8     2*8 = 16    3*8 = 24    4*8 = 32    5*8 = 40    6*8 = 48    7*8 = 56    8*8 = 64    
1*9 = 9     2*9 = 18    3*9 = 27    4*9 = 36    5*9 = 45    6*9 = 54    7*9 = 63    8*9 = 72    9*9 = 81    

for 变量 in 循环规则:
for 变量 in 循环规则:
代码块
代码块
7. break和continue
• break 可以用来立即退出循环语句,包括else语句

i = 0
while i < 20:
    if i == 3:
        break
    print(i)
    i += 1
else:
    print('执行结束')
>>>
0
1
2

• continue 用来跳过当初循环

i = 0
while i < 20:
       i += 1
    if i == 3:
        continue
    print(i)
   else:
    print('执行结束')
>>>
1
2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
执行结束

8. 作业

#求1000以内的水仙花数
i = 1
while i < 10:
    j = 0
    while j < 10:
        k = 0
        while k < 10:
            if i ** 3 + j ** 3 + k ** 3 == int('%d%d%d'%(i,j,k)):
                print('%d%d%d'%(i,j,k))
            k += 1
        j += 1
    i += 1
>>>
153
370
371
407

你可能感兴趣的:(python-N02)