Python_13期_Day5_运算符优先级、条件控制语句

Day5学习目录

  • 运算符优先级
  • 条件控制语句
    • if语句
    • input语句
    • if-else
    • if-elif语句
    • if-elif-else语句
    • while循环
    • while循环嵌套

运算符优先级

  • 所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符
    Python_13期_Day5_运算符优先级、条件控制语句_第1张图片
a = 2 or 3 and 4
print(a)
# 测试优先级比较:or比and高,结果是4
# 测试优先级比较:and比or高,结果是2
# 执行结果为:2
  • 总结:可以测试判断优先级

条件控制语句

if语句

条件判断语句(if语句)

  • 执⾏的流程:

    • if语句在执⾏时,会先对条件表达式进⾏求值判断,
    • 如果为True,则执⾏if后的语句
    • 如果为False,则不执⾏
  • 语法:

    if 条件表达式 :
    代码块

  • 代码块代码块中保存着⼀组代码,同⼀个代码块中的代码,要么都执⾏要么都不执⾏

  • 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束

  • 代码块就是⼀种为代码分组的机制input() 函数

input语句

  • 该函数用来获取用户的输入
  • input()调用后,程序会立即暂停,等待用户输入
  • 用户输入完内容以后,点击回车程序才会继续向下执行
  • 用户输入完成以后,其所输入的的内容会以返回值得形式返回

if-else

if-else语句

  • 语法:
    if-else语句
  • 语法:
    if 条件表达式 :
    代码块
    else :
    代码块
  • 执行流程:
  • if-else语句在执行时,先对if后的条件表达式进行求值判断
  • 如果为True,则执行if后的代码块
  • 如果为False,则执行else后的代码块
    if 条件表达式 :
    代码块
    else :
    代码块
  • 执行流程:
  • if-else语句在执行时,先对if后的条件表达式进行求值判断
  • 如果为True,则执行if后的代码块
  • 如果为False,则执行else后的代码块

if-elif语句

  • 特征:该语句只会执行一个结果,只要满足条件后就输出,不对其他条件判断。

if-elif-else语句

if-elif-else 语句

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

    else :
    代码块
  • 执行流程:
  • if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
  • 如果表达式的结果为True,则执行当前代码块,然后语句结束
  • 如果表达式的结果为False,则继续向下判断,直到找到True为止
  • 如果所有的表达式都是False,则执行else后的代码块
  • 总结: if-elif-else中只会有一个代码块会执行

while循环

while语句

  • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
  • 语法:
    while 条件表达式 :
    代码块
    else:
    代码块
  • break和continue
    • break 可以用来立即退出循环语句,包括else语句
    • continue 用来跳过当初循环v

while循环嵌套

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


for 变量 in 循环规则:
   for 变量 in 循环规则:
       代码块
   代码块

  • 作业
  1. 求1000以内所有的水仙花数
  2. 获取用户输入的任意数,判断其是否是质数?
  3. 猜拳游戏:
    • 出拳 玩家:手动输入 电脑:随机输入
    • 判断输赢: 玩家获胜 电脑获胜 平局
  4. 99乘法表
  • 第一题:
i=0
while i<1000:
    a = i//100
    b = i%100//10
    c = i%10
    if ((a * 100 + b * 10 + c * 1) == (a ** 3 + b ** 3 + c ** 3))and (a>0):
        print(i)
    i += 1

Python_13期_Day5_运算符优先级、条件控制语句_第2张图片

  • 第二题:
num = int(input('输入数字'))
i = 1 #作用:被除数
n=0 #作用:判断几个0(即被整除个数),一个0就是质数,大于1个就不是质数10
while num>=i:
    i += 1
    if num%i==0:
        n+=1
if n>1:
    print('不是质数')
elif n==1:
    print('质数')

Python_13期_Day5_运算符优先级、条件控制语句_第3张图片
Python_13期_Day5_运算符优先级、条件控制语句_第4张图片

  • 第三题:
import random
cp = random.choice(('剪刀', '石头', '布'))
pp =str(input('输入剪刀石头布PK:'))
print('电脑出:' + cp, '玩家出:' + pp)
if pp == cp:
    print('平局')
elif (cp == '剪刀' and pp == '石头') or (cp == '布' and pp == '剪刀') or (cp == '石头' and pp == '布'):
    print('玩家胜')
elif (cp == '剪刀' and pp == '布') or (cp == '布' and pp == '石头') or (cp == '石头' and pp == '剪刀'):
    print('电脑胜')

Python_13期_Day5_运算符优先级、条件控制语句_第5张图片

  • 课堂练习:
i=1
while i <10:
    n = 1
    while n<=i:
        print('{}*{}={}\t'.format(n,i,n*i),end='')
        n+=1
    print()
    i +=1
 
 面向对象:
 class Cfb_99:
    def lie(self):
        for i in range(1,10):
            for j in range(1,i+1):
                print('{}*{}={}'.format(j,i,j*i),end='\t')
            print()
a =Cfb_99()
a.lie()

Python_13期_Day5_运算符优先级、条件控制语句_第6张图片

你可能感兴趣的:(python)