if & while语句

条件判断

条件判断语句(if语句)

  • 执行的流程:
    • if语句在执行时,会先对条件表达式进行求值判断,
    • 如果为True,则执行if后的语句
    • 如果为False,则不执行
  • 语法:if 条件表达式 :
    代码块
  • GIF演示:
    在这里插入图片描述
a = int(input('请输入012三个数字:'))

if a == 0:
    print(1111)
if a == 1:
    print('hahaha')
if a == 2:
    print(666)
  • 代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
  • 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
  • 代码块就是一种为代码分组的机制

input() 函数

  • 该函数用来获取用户的输入
  • input()调用后,程序会立即暂停,等待用户输入
  • 用户输入完内容以后,点击回车程序才会继续向下执行
  • 用户输入完成以后,其所输入的的内容会以返回值得形式返回(str类型数据)
a = input('请输入012三个数字:') 
print(type(a))
><class 'str'>
a = int(input('请输入012三个数字:'))  # int()讲字符串强制转换为int类型 str()同理 float()同理
print(type(a))
><class 'int'> #执行结果
if a == 0:
    print(1111)
if a == 1:
    print('hahaha')
if a == 2:
    print(666)

if-else语句

  • 语法:
    if 条件表达式 :
    代码块
    else :
    代码块
  • 执行流程:
    • if-else语句在执行时,先对if后的条件表达式进行求值判断
    • 如果为True,则执行if后的代码块
    • 如果为False,则执行else后的代码块
a = int(input('请输入012三个数字:')) 
print(type(a))
if a == 0:
    print(1111)
else:
    print(2222)

if-elif-else 语句

  • 语法:
    • if 条件表达式 :
      • 代码块
    • elif 条件表达式 :
      • 代码块
    • elif 条件表达式 :
      • 代码块
    • else :
      • 代码块
  • 执行流程:
    • if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断
    • 如果表达式的结果为True,则执行当前代码块,然后语句结束
    • 如果表达式的结果为False,则继续向下判断,直到找到True为止
    • 如果所有的表达式都是False,则执行else后的代码块
  • 总结: if-elif-else中只会有一个代码块会执行
value = 15000
if value >= 30000:
    print('有钱任性')
elif value >= 20000:
    print('有钱真好')
elif value >= 10000:
    print('哥也月薪上万了')
elif value >= 5000:
    print('工资还说的过去')
elif value >= 2000:
    print('能养活自己了')
else:
    print('吃土去吧!')
  • 从上往下顺序执行如果输入值满足其中一个则不会执行下面的语句
value = 15000
if value >= 30000:
    print('有钱任性')
elif value >= 10000:
    print('哥也月薪上万了')# 判断后value满足此条件不继续执行
elif value >= 20000:
    print('有钱真好')
elif value >= 5000:
    print('工资还说的过去')
elif value >= 2000:
    print('能养活自己了')
else:
    print('吃土去吧!')
  • 可以加强语句的严谨性
value = 15000
if value >= 30000:
    print('有钱任性')
elif value >= 10000 and value < 20000:
    print('哥也月薪上万了')
elif value >= 20000 and value < 30000:
    print('有钱真好')
elif value >= 5000 and value < 10000:
    print('工资还说的过去')
elif value >= 2000 and value < 5000:
    print('能养活自己了')
else:
    print('吃土去吧!')

循环控制

while语句

  • 环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
  • 语法:
    while 条件表达式 :
    代码块
    else:
    代码块
  • GIF演示:
    在这里插入图片描述
  • 同样需要注意冒号和缩进。

以下实例使用了 while 来计算 1 到 100 的总和:

n = 100
 
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
 
print("1 到 %d 之和为: %d" % (n,sum))

执行结果为

1 到 100 之和为: 5050


无限循环

  • 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下:
var = 1
while var == 1 :  # 表达式永远为 true
   num = int(input("输入一个数字  :"))
   print ("你输入的数字是: ", num)
 
print ("Good bye!")
  • 以上脚本的输出结果:

输入一个数字 :5
你输入的数字是: 5
输入一个数字 :

  • 无限循环在服务器上客户端的实时请求非常有用。

while 循环使用 else 语句

  • 在 while … else 在条件语句为 false 时执行 else 的语句块。

    • 语法格式如下:
while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>
  • 循环输出数字,并判断大小
count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

输出结果:

0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 大于或等于 5


Practise

  1. 打印99乘法表.
a = 1
while a < 10:
    c = 1
    while c < 1 + a:
        print('%s * %s = %s' % (c, a, c*a), end='\t')
        c += 1
    a += 1
    print('\n')
  1. 求 1000 以内的水仙花数
i = 99
while i < 1000:
    i += 1
    c = str(i)
    if int(c[0])**3 + int(c[1])**3 + int(c[2])**3 == int(i):
        print(i)
  1. 获取用户输入的任意数,判断是否是质数 ?
num = int(input('请输入您任意整数:'))
if num ==2 or num == 3 or num == 5 or num == 7:
    print('输入的是质数')
elif num % 2 == 0 or num % 3 == 0 or num % 5 == 0 or num % 7 == 0:
    print('输入的不是质数')
elif num == 0:
    print('输入的不是质数')
else:
    print('输入的是质数')
  1. 猜拳游戏:
    • 出拳 玩家: 手动输入 电脑:随机输入
    • 判断输赢:玩家获胜 电脑胜 平局
import random

player = input("请输入要出的选项:剪刀(1)/石头(2)/布(3):")
if player.isdigit() and int(player) >= 1 and int(player) <= 3:
    player = int(player)
    cpu = random.randint(1, 3)
    if player == 1:
        player1 = "剪刀"
    if player == 2:
        player1 = "石头"
    if player == 3:
        player1 = "布"
    if cpu == 1:
        cpu1 = "剪刀"
    if cpu == 2:
        cpu1 = "石头"
    if cpu == 3:
        cpu1 = "布"
    print("玩家出拳为:", player1, "电脑出拳为:", cpu1)

    if (player == 1 and cpu == 3) or (player == 2 and cpu == 1) or (player == 3 and cpu == 2):
        print("玩家胜利")
    if (player == 1 and cpu == 2) or (player == 2 and cpu == 3) or (player == 3 and cpu == 1):
        print("电脑胜利")
    if (player == 1 and cpu == 1) or (player == 2 and cpu == 2) or (player == 3 and cpu == 3):
        print("平局")
else:
    print("出拳有误")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值