学习python第五课-条件判断和while循环

条件判断

条件判断语句(if语句)

  • 执行流程:

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

    ​ 代码块

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

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

  • 代码块就是一种为代码分组的机制

input() 函数

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

if-else语句

  • 语法:
 if 条件表达式:

  ​    代码块

  else:

  ​    代码块
  • 执行流程:
    • if-else语句在执行时,先对if后的条件表达式进行求值判断
    • 如果为True,则执行if后的代码块
    • 如果为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('吃土我开心')
  • 语法:
 if 条件表达式:

  ​    代码块

  elif 条件表达式:

  ​    代码块

  elif 条件表达式:

  ​    代码块

  ......

  else:

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

while 语句

  • 循环语句可以使指定的代码块重复指定的次数,循环语句分成两种,while循环和for循环

  • 语法:

while 条件表达式:

    代码块
    
else:

    代码块
    

while循环的三大要素

  • 要设定一个初始值
  • 对初始值进行约束判断
  • 对初始值进行修改

循环嵌套

循环嵌套
  • Python 语⾔允许在⼀个循环体⾥⾯嵌⼊另⼀个循环
while 表达式:
    while 表达式:
        代码块
    代码块

break和continue

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

代码作业

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

i = 100
while i < 1000:
    x = i // 100
    y = (i % 100) // 10
    z = i % 10
    n = x ** 3 + y ** 3 + z ** 3
    if n == i:
        print(i)
    i += 1

输出结果为:
求1000以内所有的⽔仙花数的结果

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

def checkNum(num):
    if num > 1:
        i = 2
        while i<=num:
            if num%i ==0:
                return '{}不是质数,{}乘于{}是{}'.format(num,i,num // i,num)
            else:
                return '{}是质数'.format(num)
    else:
        return '{}不是质数'.format(num)

def main():
    num = int(input("请输入一个数字:"))
    print(checkNum(num))
    main()

main()

分别输入1、6、10、15、19、20、30、55、66后得出结果:
求质数,分别输入1、6、10、15、19、20、30、55、66后得出结果

3. 猜拳游戏

  • 出拳 玩家:⼿动输⼊ 电脑:随机输⼊
  • 判断输赢: 玩家获胜 电脑获胜 平局
import random

#对电脑生成数和自己输入的数进行对比判断0我胜,1电脑胜,2平手
def contrast(num, num1):
    if num==0 and num1==2: #我出剪刀电脑出布我胜
        return 0
    elif num1==0 and num==2: #我出布电脑出剪刀电脑胜
        return 1
    elif num > num1: #我输入的数字大于电脑的数字时我胜
        return 0
    elif num1 > num:#电脑的数字大于我输入的数字时电脑胜
        return 1
    else: #否则平局
        return 2

#判断输入的数字是剪刀或是石头还是布
def checkNums(num):
    if num == 0:
        return '剪刀'
    elif num == 1:
        return '石头'
    else:
        return '布'

def randomMain():
    num = int(input('剪刀=0,石头=1,布=2,请输入一个数字:'))
    if num>=0 and num<=2:
        num1 = random.randint(0,2)
        contrasts = contrast(num, num1)
        if contrasts==0:
            print('玩家获胜',end='')
        elif contrasts==1:
            print('电脑获胜',end='')
        else:
            print('平局',end='')
        print('了!你出的是{}({}),电脑出的是{}({})'.format(checkNums(num), num, checkNums(num1), num1))
    else:
        print('请您输入正确的数字!')
    randomMain()

randomMain()

测试后得出的结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值