Python语言程序设计(7)——if语句

if语句

程序开发中经常会用到条件判断,例如,用户登录时,需判断用户输人的用户名和密码是否全部正确,进而决定用户是否能够成功登录。类似这种需求的功能,都可以使用if语句实现。

1 if语句的格式

if语句可使程序产生分支,根据分支数量的不同,if 语句分为单分支if语句、双分支if…else语句和多分支if…elif…else语句。具体介绍如下:
1.if语句
if语句是最简单的条件判断语句,它由三部分组成,分别是if关键字、条件表达式以及代码块。if 语句根据条件表达式的判断结果选择是否执行相应的代码块,其格式如下:

if 条件表达式:
代码块

上述格式中,if 关键字可以理解为“如果”,当条件表达式的值为True时,则执行代码块。if 语句的执行流程如图1所示。
在这里插入图片描述

图1 if 语句执行流程
例如,使用if语句判断是否达到上幼儿园的年龄,代码如下:

age=5
if age >= 3:		#如果大于或等于3岁即可上幼儿园
print("可以上幼儿园了")

上述代码中,首先定义了一个变量age,将其赋值为5,然后使用if语句判断表达式“age>=3"的值是否为True,如果为True,则输出“可以上幼儿园了”。
2.if…else 语句
if…else语句产生两个分支,可根据条件表达式的判断结果选择执行哪一个分支。if…else 语句格式如下:

if 条件表达式:
	代码块1
else:
	代码块2

上述格式中,如果if条件表达式结果为True,执行代码块1;如果条件表达式结果为False,则执行代码块2。if…else 语句的执行流程如图2所示。
在这里插入图片描述

图2 if…else 语句执行流程
例如,使用if…else语句描述用户登录场景,代码如下:

u_name = input("请输入用户名:")
pwd = input("请输入密码:")
if u_name == "admin" and pwd="123":
	print("登录成功!即将进入主界面。")
else:
	print("您输入的用户名或密码错误,请重新输入。")

以上代码首先从控制台接收用户输人的用户名和密码,分别赋值给变量u_name 和pwd,然后通过if…else语句进行判断:如果用户输人的用户名和密码分别为“admin”和“123”,则执行第4行代码,输出“登录成功!即将进入主界面。”,否则执行第6行代码,输出“您输入的用户名或密码错误,请重新输入。”。
3.if-elif-else语句
if-else语句可以处理两种情况,如果程序需要处理多种情况,可以使用if-elif-else语句。if-elif-else语句格式如下:

if条件表达式1:
	代码块1
elif 条件表达式2:
	代码块2
elif 条件表达式3:
	代码块3
elif 条件表达式n-1:
	代码块n-1
else:
	代码块n

上述格式中,if之后可以有任意数量的elif 语句,如果条件表达式1的结果为True,则执行代码块1;如果条件表达式2的结果为True,则执行代码块2。依此类推。如果else前面的条件表达式结果都为False,则执行代码块n。if…elif…else语句的执行流程如图3-3所示。
在这里插入图片描述

图3 if-elif-else语句
例如,某商场会员的积分规则如表1所示。
表1 会员积分规则

会员积分会员级别会员积分会员级别
0注册会员10000 < score≤30000金牌会员
0< score≤2000铜牌会员30000 < score钻石会员
2000 < score≤10000银牌会员

使用if…elif…else语句实现表3-1所示的会员规则,示例代码如下:

score = int (input ("请输入您的会员积分: "))
if score == 0:
	print("注册会员")
elif 0< score <= 2000:
	print ("铜牌会员")
elif 2000 < score<= 10000:
	print("银牌会员")
elif 10000<score <= 30000:
	print("金牌会员")
else:
	print('钻石会员')

上述代码首先定义了一个表示会员积分的变量score,然后根据积分规则从上至下进行等级判断。只要满足其中的一个条件,程序便会执行对应的输出语句,并结束条件判断语句。例如,输入2500,程序的输出结果是“银牌会员”。

2 实例:判断4位回文数

所谓回文数,就是各位数字从高位到低位正序排列和从低位到高位逆序排列都是同一数值的数,例如,数字1221按正序和逆序排列都为1221,因此1221就是一个回文数;而1234的各位按倒序排列是4321,4321 与1234不是同一个数,因此 1234就不是一个回文数。

本实例要求编写程序,判断输人的4位整数是否是回文数。
【参考代码】

palindrome_num = int(input("请输入一个四位数:"))
single = int(palindrome_num / 1000)
ten = int(palindrome_num / 100 % 10)
hundred = int(palindrome_num / 10 % 10)
ths = int(palindrome_num % 10)
reverse_order = ths * 1000 + hundred * 100 + ten * 10 + single
if palindrome_num == reverse_order:
    print(palindrome_num,"是回文数")
else:
    print(palindrome_num,"不是回文数")

超全面的测试IT技术课程,0元立即加入学习!有需要的朋友戳:


腾讯课堂测试技术学习地址

欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值