python第五课——条件控制语句

1.条件控制语句

1.1条件判断

1.1.1 条件判断语句(if语句)

  • 执行的流程:
    • if语句在执行时,会对条件表达式进行求值判断,
    • 如果为True,则执行if后的语句
    • 如果为False,则不执行
  • 语法:if 条件表达式:
    代码块
  • 代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
  • 代码块以缩进开始,知道代码恢复到之前的缩进级别时结束
  • 代码块就是一种为代码分组的机制
num=30
if num > 20 and num <40:
    print('num比20大,num比40小')

1.1.2 input()函数

  • 该函数用来获取用户的输⼊
  • input()调用后,程序会立即暂停,等待用户输⼊
  • 用户输⼊完内容以后,点击回车程序才会继续向下执行
  • 用户输⼊完成以后,其所输⼊的的内容会以返回值得形式返回
input特性
  • input需要我们从键盘输入内容,否则程序将被阻塞住
  • input输入内容都是一个字符串的内容
a=input()
print(type(a))  #input接收类型为字符串,所以要强制转换a的数据类型
a=int(a) #将由整数构成的字符串(整型,例如1,2,3,。。。)强制转换为int ,当input输入的类型为float(例如,1.2)时,将会报错
         #a=eval(a) 单纯去掉引号
if a==1:
    print(123)

1.1.3 if-else语句

  • 语法:
    if 条件表达式 :
      代码块
    else :
       代码块
  • 执行流程:
    • if-else语句在执行时,先对if后的条件表达式进行求值判断
    • 如果为True,则执行if后的代码块
    • 如果为False,则执行else后的代码块
a=int(input("请输入123中的一个数:"))
if a==1:
    print(123)
elseprint(678)

1.1.4 if-elif-else 语句

  • 语法:
    if 条件表达式 :
       代码块
    elif 条件表达式 :
       代码块
    elif 条件表达式 :
      代码块

    else :
      代码块
  • 执行流程:
    • if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判
      断,
    • 如果表达式的结果为True,则执行当前代码块,然后语句结束
    • 如果表达式的结果为False,则继续向下判断,直到找到True为止
    • 如果所有的表达式都是False,则执行else后的代码块
  • 总结: if-elif-else中一定只会有且只有⼀个代码块会执行
value=30000
if value>=30000:
    print('有钱任性')
elif value>=20000:
    print("有钱真好")
elif value>=10000:
    print('哥也月薪上万了')
elif value>=5000:
    print("工资还说得过去")
elif value>=2000:
    print("能养活自己了")
else:
    print('吃土我开心')
练习题:根据输入的月份打印相应的季节
month=eval(input("请输入月份:")) #eavl() 去掉引号'',确保可以输入浮点数类型
if 0<month<=12:
    if month>3 and month<5:
        print("春季")
    elif month>6 and month>8:
        print("夏季")
    elif month>9 and month<11:
        print('秋季')
    elif month==12 or 1<month<2 :
        print('冬季')
else:
    print("超出范围")

1.2 循环控制

1.2.1 while语句

  • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环
    和 for循环
  • 语法:
    while 条件表达式 :
       代码块
    else:
       代码块
i=0
while i<5: #当xxx条件允许的时候,会执行循环内的语句
    print(111)
    i+=1
else: #while循环的后继语句会在while循环正常执行完毕之后继续执行
    print("循环正常执行完毕")
while循环三大要素
  • 要设定初始值
  • 要对初始值进行约束判断
  • 初始值要进行修改
while循环练习:求100以内所有的偶数的和
#首先取到100以内所有数
#筛选出偶数
#再做相加
i=0
num=0
while i<100:
    i += 1
    if i%2==0: #取余
        # print(i)
        num += i #num=num+i
print(num)

1.2.1 break和continue

  • break 可以用来立即退出循环语句,包括else语句
  • continue 用来跳过当次循环
i=0
while i<5:
    print(i)
    i += 1
    if i==2:
        # break
        continue
else:   #while循环的后继语句会在while循环正常执行完毕之后继续执行
    print("循环正常执行完毕")

1.3 循环嵌套

  • Python 语⾔允许在⼀个循环体里面嵌入另⼀个循环。
  • 语法:
    while 表达式:
      while 表达式:
         代码块
       代码块
'''
\*****
\*****
\*****
\*****
\*****
'''

i=0
while i<5:
     j = 0
     while j<5:
         print('*', end='')
         j += 1
     print()
     i+=1
'''
打印此形状
* #i=0 j<1
** #i=1 j<2
***  # i=2 j<3
**** #i=3 j<4
***** #i=4 j<5
'''
外部循环控制行号,内部循环控制列号
 i=0
 while i<5:
     j = 0
     while j<i+1:
         print('*', end='')
         j += 1
     print()
     i+=1
'''
打印出此种类型
***** i=0 j<5
****  i=1 j<4
***   i=2 j<3
**    i=3 j<2
*     i=4 j<1
'''
i=0
while i<5:
    j=0
    while j<5-i:
        print('*',end='')
        j+=1
    print()
    i+=1

1.3.1 打印99乘法表

'''
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
'''
i=0
while i<9:
    i+=1
    j=0
    while j<i:
        j+=1
        print("{}*{}={}".format(j,i,j*i),end='\t')
    print()

2. 第五讲作业

  • 求1000以内所有的水仙花数
#1000以内所有的水仙花数,
# # num=0
 for i in range(100,1000):
     a=i//100
     b=(i-a*100)//10
     c=(i-a*100-b*10)
     if i==pow(a,3)+pow(b,3)+pow(c,3): #pow() 函数 x 的 y 次幂 (xy) 的值
         print(i)
  • 获取用户输⼊的任意数,判断其是否是质数?
# 用户输入数字
num = int(input("请输入一个数字: "))

# 质数大于 1
if num > 1:
    # 查看因子
    for i in range(2, num):
        if (num % i) == 0:
            print(num, "不是质数")
            print(i, "乘于", num // i, "是", num)
            break
    else:
        print(num, "是质数")

# 如果输入的数字小于或等于 1,不是质数
else:
    print(num, "不是质数")
  • 猜拳游戏:(用0,1,2代表石头、剪子、布)
     出拳 玩家:手动输入 电脑:随机输入
     判断输赢: 玩家获胜 电脑获胜 平局
#猜拳游戏:(用0,1,2代表石头、剪子、布) 0>1 1>2 2>0
# &emsp;出拳  玩家:手动输入  电脑:随机输入
# &emsp;判断输赢:  玩家获胜  电脑获胜  平局
import random
player=int(input('请输入您的选择:''\t''0代表石头''\t''1代表剪子''\t''2代表布'))
comP=random.randint(1,3)
if player-comP==-1 or player-comP==2:
    print("玩家获胜")
elif comP-player==-1 or comP-player==2:
    print("电脑获胜")
else:
    print("平局")
print("电脑输入的是{}".format(comP))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值