第5讲 条件控制语句

第5讲 条件控制语句

  • 运算符的优先级
  • 条件判断
    • 条件判断语句(if语句)
    • input()函数
    • if-else语句
    • if-elif-else 语句
  • 循环控制
    • while语句
    • break 和 continue
  • 作业:
    • 1.求1000以内所有的水仙花数
    • 2.获取用户输入的任意数,判断其是否是质数?
    • 3.1. 猜拳游戏:
    • 99乘法表

第5讲 条件控制语句_第1张图片

运算符的优先级

运算符优先级表
第5讲 条件控制语句_第2张图片


条件判断

条件判断语句(if语句)

  • 执行的流程:
    if语句在执行时,会先对条件表达式进行求值判断,
    如果为True,则执行if后的语句
    如果为False,则不执行
  • 语法:if 条件表达式 :
    代码块
  • 代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
  • 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
  • 代码块就是一种为代码分组的机制
    第5讲 条件控制语句_第3张图片

input()函数

  • 该函数用来获取用户的输入
  • input()调用后,程序会立即暂停,等待用户输入
  • 用户输入完内容以后,点击回车程序才会继续向下执行
  • 用户输入完成以后,其所输入的的内容会以返回值得形式返回
  • input接受的参数都是字符串
  • input会阻塞后边的程序
    第5讲 条件控制语句_第4张图片
    第5讲 条件控制语句_第5张图片

if-else语句

  • 语法:
if 条件表达式:
	代码块
else:
	代码块
  • 执行流程:
    if-else语句在执行时,先对if后的条件表达式进行求值判断
    如果为True,则执行if后的代码块
    如果为False,则执行else后的代码块)
    第5讲 条件控制语句_第6张图片
    第5讲 条件控制语句_第7张图片

if-elif-else 语句

if 条件表达式1:
	代码块1
elif 条件表达式2:
	代码块2
...
else:
	代码块n
  • while循环的三大要素
    初始值
    对于初始值的判断
    初始值的自增长
  • while循环嵌套
    外层循环的初始值放到外循环外,内循环的初始值一定要放到外循环之内,内循环之外,否则内循环的初始值不会重新被赋值,就无法控制内层循环的循环次数
  • 执行流程:
    if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
    如果表达式的结果为True,则执行当前代码块,然后语句结束
    如果表达式的结果为False,则继续向下判断,直到找到True为止
    如果所有的表达式都是False,则执行else后的代码块
  • 总结: if-elif-else中只会有一个代码块会执行
    第5讲 条件控制语句_第8张图片

循环控制

while语句

  • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
  • 语法:
while 条件表达式:
	代码块
else:
	代码块

break 和 continue

  • break可以用来立即退出循环语句,包括else语句
  • continue 用来跳过当初循环

作业:

1.求1000以内所有的水仙花数

第5讲 条件控制语句_第9张图片

2.获取用户输入的任意数,判断其是否是质数?

第5讲 条件控制语句_第10张图片

3.1. 猜拳游戏:

  • 出拳 玩家:手动输入 电脑:随机输入
  • 判断输赢: 玩家获胜 电脑获胜 平局
    第5讲 条件控制语句_第11张图片
import random
T=['剪刀','石头','布']
ww,dw,pj='玩家获胜','电脑获胜','平局'
while True:
    wj = input('请出拳:')
    while wj not in T:
        wj = input("输入错误,请重新输入:")
    else:
        dn = random.choice(T)
        if wj =='剪刀' and dn == '石头' or wj =='石头' and dn == '布' or wj == '布' and dn =='剪刀':
            print('玩家:',wj,'VS','电脑:',dn,dw)
            pass
        elif wj == dn:
            print('玩家:',wj,'VS','电脑:',dn,pj)
            pass
        else:
            print('玩家:',wj,'VS','电脑:',dn,ww)
            pass

99乘法表


while i<10:
    i+=1
    j=0
    while j<i:
        j+=1
        print('{} * {} = {}'.format(i,j,i*j),end='\t')    #format
    print('')
i=0
while i<10:
    i+=1
    j=0
    while j<i:
        j+=1
        print(i,'*',j,'=',i*j,end='\t')
    print('')
i=0
while i<10:
    i+=1
    j=0
    while j<i:
        j+=1
        print('%s'%i,'*','%s'%j,'=','%s'%i*j,end='\t')   #%s
    print('')
i=0
while i<10:
    i+=1
    j=0
    while j<i:
        j+=1
        print(f'{i}*{j}={i*j}',end='\t')   #%f''
    print('')

你可能感兴趣的:(Python基础,python)