Python条件控制语句

Python条件控制语句

##条件控制

条件控制原理:通过一个或多个判断语句(结果为True或False)来决定是否执行该条件下的代码块。
语法结构:
if condition1: #注意结尾要加冒号【:】
	statement_block  # 上一级条件所要执行的代码块。注意缩进
	statement_block
	……
elif condition2: # 不满足上一个判断条件时,执行此判断
	statement_block # 同样,满足elif的判断条件时执行的代码块
	statement_block
	……
else: # 上述条件均无法满足的情况下,执行此判断下的代码块
	statement_block
	statement_block
	……

# elif类似于其他编程语言中的if(如果)…… else if(不然)……else(否则)……

# 若if的条件满足,即condition1为True,则会执行if判断的代码块
# 若if条件判断结果为False,则继续判断elif的条件是否为True,为True则执行elif下面的代码块
# 若if和elif的判断结构都为False,则执行else下面的代码块

举例
if 1>0: # 此判断结果为True,即这个表达式的结果是成立的
	print("判断正确") # 当上级判断为True,就会执行这行代码
输出结果:
判断正确

条件表达方式(True和False判断)

1.即0为False(实数都是True),None也是False
if 0:
	print("test data")
这个判断不会有任何输出,因为0作为判断条件是False,所以不会执行下面的print()语句

2.非0数都为True
if -2:
	print("test data")
这个判断有输出结果,结果为:
test data

3.比较运算符作为判断条件
if 1>3: # 这个判断结果是False
if 3<5: # 这个判断结果是True

# 这两个判断根据条件得出的布尔值决定是否执行条件下的代码块

4.根据成员运算符in来判断条件
if "x" in "sex":  # True
if 4 in [1,2,3,4]: # True
if 2 not in [1,2,3,4,5]: # False

5.算式运算符
if 100%10:  # 因为100%10 = 0,所以这个条件是False	
if 100//10:  # 因为100//10 = 10,所以这个条件的结果是True
if (100%10)>=0:  # 因为100%10 = 0,再进行比较判断,也是成立的,所以这个条件为True

#在if判断时,若判断两个条件相等,应使用“==”

if嵌套

多重判断,在一个判断下,还有其他判断条件,可以使用多重if进行并列判断(是否满足,且是否满足)。
举例:
闰年是能被4整除但不能被100整除,能被100整除且能被400整除的年份。
year = int(input("请输入一个四位数年份:"))
if year%4 == 0:
	if year%100 != 0:
		print("这年是闰年")
	
elif year%100 == 0:
		if year%400 == 0:
			print("这年是闰年")
else:
	print("这年不是闰年")

多条件并列(类似于if嵌套)

if condition1 and condition2: #此处有两个判断条件,是并列关系,即需要同时满足
	statement_block
elif condition3:
	statement_block
else:
	statement_block

举例:
money = 100
price = 98
if money>=100 and price<=100:
	print("(money-price)>=0","我买的起这个商品")
else:
	print("我买不起这个商品")

练习

1.假设有一个n位数,各个位数上的值的n次方之和等于这个数本身,我们将这个数成为水仙花数。写一个if语句判断一个三位数或四位数是不是水仙花数。

num = int(input("请输入一个三位数或四位数:"))
if num>=100 and num<=999:
	h = num//100
	t = num//10%10
	i = num%10
	if num == h**3 + t**3 + i**3:
		print("这是个水仙花数。")
	else:
		print("这不是个水仙花数。")
elif num>=1000 and num<=9999:
	th = num//1000
	h = num//100%10
	t = num//10%10
	i = num%10
	if num == th**4 + h**4 + t**4 + i**4:
		print("这是个水仙花数。")
	else:
		print("这不是个水仙花数。")
else:
	print("输入错误。")

2.输入一个五位数,判断这个五位数是不是回文数。
(回文数:对称数,首尾相等,第二位和倒数第二位相等的五位数,如12321是一个回文数)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值