5-Python三目运算符和循环关键字

1.三目运算符

1.1 C、JAVA、JS、Object-C语言的三目运算符: ? :

  • 语法:
    表达式1?表达式2:表达式3

  • 运算规则:
    判断表达式1的结果是否为真,如果为真整个三目运算表达式的结果是表达2的值,否则是表达式3的值

实例:

a = 10 > 20?30:40
print(a)    # 40

1.2 python中的三目运算符: if-else

  • 语法:
    表达式2 if 表达式1 else 表达式3

  • 运算规则:
    判断表达式1的结果是否为真,如果为真整个三目运算表达式的结果是表达2的值,否则是表达式3的值

a = 30 if 100 > 20 else 40
print(a)

2.循环关键字

2.1 continue

  • continue是循环体中的关键字,只能出现在循环中。
    如果在执行循环的过程中遇到了continue,当次循环结束,直接进入下次循环的判断
for x in range(5):
    print('======')
    continue
    print('++++++')
    print('~~~~~~')

2.2 break

  • break是循环体中的关键字,只能出现在循环中。
    如果在执行循环的过程中遇到了break,整个循环直接结束。
print('=======================================')
for x in range(5):
    print('======')
    break
    print('++++++')
    print('~~~~~~')

练习1:找到大于1000的整数中第一个能够被199整除的数

num = 1000
while True:
    if num % 199 == 0:
        print(num)
        break
    num += 1

练习2:用while实现功能,从1打印到100

num = 1
while True:
    print(num)
    if num == 100:
        break
    num += 1

练习3:写程序实现不断输入内容,直到输入的数据是0为止

请输入: abc
请输入: 100
请输入: 1aa

请输入: 0

while True:
    value = input('请输入:')
    if value == '0':
        break

注意循环嵌套的时候break的位置不同,结束的循环也可能不一样

for x in range(4):
    print('循环1')
    # break
    for y in range(3):
        print('循环2')
        # break
    break

循环1
循环2
循环2
循环2

2.3 else

  • for-else结构:
    for 变量 in 序列:
    循环体
    else:
    代码块

    while-else结构:
    while 条件语句:
    循环体
    else:
    代码块

循环结构后加 else 不会影响原循环结构的执行; 如果和else关联的循环是自然死亡的,else后面的代码块就会执行,如果 else 关联的循环是因为遇到break而结束的那么else后面的代码块就不会执行

练习4:判断是定的数字是否是素数(素数就是质数)
思路:判断 2 ~ num-1 之间有没有一个能被 num 整除的数,有说明num不是素数,否则num是素数
方法一:

num = 9
for x in range(2, num):
    if num % x == 0:
        print(num, '不是素数')
        break
else:
    print(num, '是素数')

方法二:

num = 9
flag = True
for x in range(2, num):
    if num % x == 0:
        print(num, '不是素数')
        flag = False
        break
if flag:
    print(num, '是素数')

2.4 for循环和while循环怎么选择

如果循环次数不确定就使用while循环,否则用for循环

练习5:写一个猜数字的小游戏

随机生成一个0~100的数字,玩家不断输入数字,直到输入的值和随机生成的那个值相等为止。如果输入错误
给游戏提示:‘大了再小点儿’或者’小了再大点儿’。输入正确的时候打印游戏结束

导入随机函数

from random import randint
# randint(M, N)  - 产生M~N的随机整数
num = randint(0, 100)
count = 0
while True:
    # 输入猜的数字
    value = int(input('请输入数字(0~100):'))
    count += 1
    # 和随机产生的数字进行比较
    if value == num:
        print('恭喜你猜中了!游戏结束~')
        if count > 7:
            print('智商不足请充值')
        elif count < 4:
            print('小天才')
        else:
            print('哇~吊爆了~')
        break
    else:
        if value > num:
            print('大了再小点儿')
        else:
            print('小了再大点儿')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值