Python学习——条件分支和循环

本文介绍了Python中的条件分支和循环语句的使用方法,包括if-elif-else结构、while循环、for循环等,并通过实例展示了断言assert的作用及三元操作符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python学习第三天——条件分支和循环

1.if条件分支和while循环的应用
采用if,elif,else结构(不建议使用if,if,if的结构,因为当程序每次运行时,程序会对每一个if进行条件判断,产生不必要的资源浪费)

score=int(input("Please enter the score:"))		#将输入的字符串型数字转化为整型
while True:										#条件恒为真,可循环输入数字
    if 90<=score<=100:
        print('A')
    elif 80<=score<90:							#相当于c中的else if,体现了Python的简洁性
        print('B')
    elif 70<=score<80:
        print('C')
    elif 60<=score<70:
        print('D')
    elif score==0:
        break									#如果想结束输入,则输入0,break跳出循环
    else:
        print('Error!')
    print("Enter 0 to exit.")   
    score=int(input("Please enter the score:"))

Please enter the score:56
Error!
Enter 0 to exit.
Please enter the score:67
D
Enter 0 to exit.
Please enter the score:78
C
Enter 0 to exit.
Please enter the score:89
B
Enter 0 to exit.
Please enter the score:90
A
Enter 0 to exit.
Please enter the score:0
>>>

Python的严格缩进可以有效避免“悬挂else”
c语言中的“悬挂else”:

if (i>2)
	if(i>7)
		printf("great!");
else							#这里的else,c语言会采取就近原则与if(i>7)匹配,而不是和我们想要的if(i>2)匹配
	printf("emmmm");

2.条件表达式(三元操作符)

x=int(input('x='))
y=int(input('y='))
small=x if x<=y else y		#条件为真时执行的语句 if 条件 else 条件为假时执行的语句
print(small)

x=6
y=3
3
>>> 

3.断言assert

  • assert这个关键字我们称之为“断言”,当这个关键字后面的条件为假时,程序自动崩溃,并抛出AssertionError的异常。
  • 一般来说,我们可以使用assert在程序中置入检查点,当需要确保程序中某个条件一定为真,才能让程序正常工作时,assert就派上用场了。

4.while循环和for循环

  • while循环结构:

    while 条件:
    循环体

  • for循环结构: 虽然Python是由c语言编写而来,但其for循环跟c语言不太一样,Python的for循环显得更加智能和强大

    for 目标 in 表达式: 通过for循环可以迭代表达式(字符串、列表、数组)中的所有成员,并在迭代结束后,自动结束循环。
    循环体

food = 'food'
for i in food:
    print(i,end=' ')		#每次迭代后打印一个空格

f o o d 
>>> member = ['Lily','Bob','Amy','Mike']
>>> for each in member:
	print(each,len(each))	#每次迭代后打印目标的长度

Lily 4
Bob 3
Amy 3
Mike 4
  • range()的用法
    range([start,] stop[, step=1])
    三个参数,中括号中的两个参数是可选的,start表示开始的值(默认为0),step表示步长(默认值为1),stop表示结束的值。
    range()生成一个数字序列。
>>> range(3,8,1)
range(3, 8)
>>> list(range(3,8,1))
[3, 4, 5, 6, 7]
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> for i in range(2,10,2):
	print(i)

2
4
6
8
>>> 

5.break和continue

  • break:跳出循环。
bingo = 8
answer = int(input("Guess the number(0-10):"))

while True:
    if answer == 8:
        break											#猜对为8则跳出循环
    else:
        if 10>=answer>8:
            print("biger")
        elif 8>answer>=0:
            print("smaller")
        else:
            print("invalid enter !")
        answer = int(input("Guess the number(0-10):"))	#每次猜错后,经过提示重新输入数字
print("bingo!")

Guess the number(0-10):4
smaller
Guess the number(0-10):10
biger
Guess the number(0-10):33
invalid enter !
Guess the number(0-10):8
bingo!
>>> 
  • continue:跳出本次循环,开始下一轮循环。
for i in range(1,10):		#对1~10,打印能被3整除的数,其他数加5后打印
    if i%3 == 0:
        print(i)
        continue
    i += 5
    print(i)

6							#1不能被3整除,加5后为6
7
3							#3能被3整除,直接打印后跳出循环,不执行i +=5 和之后的语句,进行下一轮i = 4 的循环
9
10
6
12
13
9
>>> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值