05-条件控制语句

05条件控制语句

  • 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语句
    • 语法:
      if 条件表达式 :
      代码块
      elif 条件表达式 :
      代码块
      elif 条件表达式 :
      代码块

      else :
      代码块
    • 执行流程:
      • if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
      • 如果表达式的结果为True,则执行当前代码块,然后语句结束
      • 如果表达式的结果为False,则继续向下判断,直到找到True为止
      • 如果所有的表达式都是False,则执行else后的代码块
    • 总结: if-elif-else中只会有一个代码块会执行
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/8/27 0027 0:14
# @Author  : Oliver
if 1<2:
    print('1是比2要小的')

a=input('请输入一个数字')
a=int(a)

if a>50:
    print('a大于50')
else:
    print('a小于等于50')

if a>50:
    print('111')
elif a>20:
    print('222')
else:
    print('333')

结果显示:

1是比2要小的
请输入一个数字99
a大于50
111
  • 5、while语句
    • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
    • 语法:
      while 条件表达式 :
      代码块
      else:
      代码块
#求100以内的整数之和
s=0
i=0
while i<100:
    s+=i
    i+=1
print(s)

结果显示:

4950
  • 6、循环嵌套
    • Python 语言允许在一个循环体里面嵌入另一个循环。
    • 语法
      • while 表达式:
        while 表达式:
        代码块
        代码块
#求九九乘法表
i = 1
while i<=9:
    j=1
    while j<=i:
        print("%d*%d=%-2d " % (j, i, i*j), end = '')
        j+=1
    print('\n')
    i+=1
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 循环规则:
	       代码块
	   代码块
#相加为10的组合
lst1 = [1, 3, 5, 7, 8]
lst2 = [2, 2, 7, 9, 7]

for i in lst1:
    for j in lst2:
        if i + j == 10:
            print(i, j)
            break

结果显示:

1 9
3 7
8 2
  • 7、break和continue
    • break 可以用来立即退出循环语句,包括else语句
    • continue 用来跳过当初循环

break实例!

for letter in 'Python':  # 第一个实例
    if letter == 'h':
        break
    print
    '当前字母 :', letter

var = 10  # 第二个实例
while var > 0:
    print('当前变量值 :', var)
    var = var - 1
    if var == 5:  # 当变量 var 等于 5 时退出循环
        break

print("Good bye!")

结果显示:

当前变量值 : 10
当前变量值 : 9
当前变量值 : 8
当前变量值 : 7
当前变量值 : 6
Good bye!

Process finished with exit code 0

continue实例!

for letter in 'Python':  # 第一个实例
    if letter == 'h':
        continue
    print('当前字母 :', letter)

var = 10  # 第二个实例
while var > 0:
    var = var - 1
    if var == 5:
        continue
    print
    '当前变量值 :', var
print("Good bye!")

结果显示:

当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : o
当前字母 : n
Good bye!

课程作业:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/8/30 0030 20:11
# @Author  : Oliver
#1000以内的水仙花数
#值的是一个3位数  每个位数上的n次幂之和等于他本身
#先获取1000以内的3位数
i=100
while i<1000:
    #print(i)
    #判断哪些数是水仙花数
    #假设i的百位数是a,十位数是b,个位数是c
    a=i//100
    b=(i-a*100)//10
    c=i%10
    if a**3+b**3+c**3==i:
        print(i)
    i+=1
# 判断输入的是不是质数
num=int(input('请输入任意大于1的数字:'))
i=2
j=0#标记
while i<num:
    if num%i==0:
        j=1
    i+=1
if j:
    print(num,'不是质数')
else:
    print(num,'是质数')

结果显示:

153
370
371
407
请输入任意大于1的数字:9
9 不是质数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值