前言
接续上一篇继续往后面的知识延伸…
一、if简单条件语句
1.1 多重判断
"""
高考成绩:
>= 740:清华大学
>= 650:人民大学
>= 500:河北大学
否则:家里蹲
1. if 和 elif 后面都要跟上条件表达式
2. 条件表达式比较的变量应该是相同的
3. if...elif...else 是一个整体,只要前面有一个条件满足,则后面就不再进行判断,代码直接结束
4. 多个 if 语句之间是没有任何关联的,前面的 if 条件满足了,后面仍会判断
"""
score=float(input('请输入你的高考分数:'))
if score >= 740:
print('上清华')
elif score >= 650:
print('人民大学')
elif score >= 500:
print('河北大学')
else:
print('家里蹲')
#运行结果:
请输入你的高考分数:400
家里蹲
请输入你的高考分数:550
河北大学
请输入你的高考分数:690
人民大学
请输入你的高考分数:750
上清华
1.2 if嵌套
#格式:
if 条件1:
条件1成立执行的代码
if 条件2:
条件2成立执行的代码
# 考试案例:
ScoreWritten=float(input('输入笔试成绩:'))
if ScoreWritten >= 60:
print('恭喜笔试通过')
ScoreFace=float(input('输入面试成绩:'))
if ScoreFace >= 60:
print('恭喜,面试通过,等待录用结果')
else:
print('抱歉,没有通过面试')
else:
print('笔试没有通过,无法参加面试')
#运行结果:
输入笔试成绩:70
恭喜笔试通过
输入面试成绩:80
恭喜,面试通过,等待录用结果
输入笔试成绩:50
笔试没有通过,无法参加面试
输入笔试成绩:60
恭喜笔试通过
输入面试成绩:20
抱歉,没有通过面试
# 猜拳案例:
# 程序随机生成0~2之间的一个数字
import random # 导入 random 模块
Player = int(input('请出拳:石头-0,剪刀-1,布-2:')) # 0代表石头,1代表剪刀,2代表布
Computer = random.randint(0,2) # 电脑随机0~2数字
print(f'电脑出的是:{Computer}')
"""
用户赢:
Player-0,Computer-1
Player-1,Computer-2
Player-2,Computer-0
平局:
Player == Computer
电脑输:
与用户赢得代码反之
"""
if (Player == 0 and Computer == 1) or (Player == 1 and Computer == 2) or (Player == 2 and Computer == 0):
print('用户赢了')
elif Player == Computer:
print('平局')
else:
print('电脑赢了')
#运行结果:
请出拳:石头-0,剪刀-1,布-2:0
电脑出的是:2
电脑赢了
请出拳:石头-0,剪刀-1,布-2:1
电脑出的是:2
用户赢了
请出拳:石头-0,剪刀-1,布-2:2
电脑出的是:0
用户赢了
二、三目运算符
- 三目运算符 也叫三元运算符
- 用来简化 if else 的, 建议使用于简单的 if else 语句
- 格式:
- 值1 if 条件 else 值2
# 举个简单的录取通知的案例
name = input('姓名:')
result = '恭喜你被清华大学录取了' if name == '张三' else '抱歉,未被录取'
print(result)
# 运行结果:
姓名:诸葛亮
抱歉,未被录取
姓名:张三
恭喜你被清华大学录取了
# 奈何卧龙诸葛亮,还是干不过法外狂徒张三啊(开玩笑)
三、任务清单
- 输入一个年份,判断是平年还是闰年,如果能被400整除,则为闰年,否则如果能被100整除则为平年,否则能被4整除则为闰年。
year = int(input('请输入一个年份:'))
if year % 400 == 0 and year % 100 != 0 or year % 4 == 0:
print('闰年')
else:
print('平年')
# 运行结果:
请输入一个年份:2021
平年
请输入一个年份:2012
闰年
- 同时用户输入两个数字,编写代码进行比较,如果相等,则输出”相等“,如果数字1大于数字2,则输出”第一个数字大于第二个数字“,如果数字1小于数字2,则输出”第二个数字大于第一个数字“。
num1 = float(input('输入数字:'))
num2 = float(input('输入数字:'))
if num1 > num2:
print('第一个数字大于第二个数字')
elif num1 < num2:
print('第二个数字大于第一个数字')
else:
print('相等')
# 运行结果:
输入数字:10
输入数字:8
第一个数字大于第二个数字
输入数字:6
输入数字:11
第二个数字大于第一个数字
输入数字:3
输入数字:3
相等
- 游戏都有防沉迷系统,输入游戏时长,如果大于等于2个小时,提示”该歇歇了“,如果大于等于3个小时,提示”再玩眼睛就瞎了“,如果大于等于4个小时,提示”您的账号将强制下线“。
Time = int(input('输入游戏时长:'))
if Time >= 4:
print('您的账号将强制下线')
elif Time >= 3:
print('再玩眼睛就瞎了')
elif Time >= 2:
print('该歇歇了')
else:
print('祝您游戏愉快')
# 运行结果:
输入游戏时长:5
您的账号将强制下线
输入游戏时长:3
再玩眼睛就瞎了
输入游戏时长:2
该歇歇了
输入游戏时长:1
祝您游戏愉快
- 设计一个登录程序
- 要求:输入用户名和密码
- 设定正确的用户名和密码分别为 admin 和 111111
- 如果用户名和密码都正确,输出“登录成功”
- 如果用户名错误,输出“用户名错误“
- 如果密码错误,输出”密码错误“
User = input('输入用户名:')
if User == 'admin':
Password = input('输入密码:')
if Password == '111111':
print('登录成功')
else:
print('密码错误')
else:
print('用户名错误')
# 运行结果:
输入用户名:bsdfjb
用户名错误
输入用户名:admin
输入密码:564
密码错误
输入用户名:admin
输入密码:111111
登录成功
- 输入三个整数x,y,z,请把这三个数由小到大输出
- 不要使用 max 函数等方法,利用现有学习的内容实现
- 不要输入重复数字
# 列表升序写法
x = int(input('输入整数:'))
y = int(input('输入整数:'))
z = int(input('输入整数:'))
list1=[x,y,z]
list1.sort()
print(list1)
# 运行结果:
输入整数:5
输入整数:7
输入整数:11
[5, 7, 11]
输入整数:20
输入整数:6
输入整数:13
[6, 13, 20]
# 普通写法
x = int(input('输入整数:'))
y = int(input('输入整数:'))
z = int(input('输入整数:'))
if x>y>z:
print(f'{z},{y},{x}')
elif x>z>y:
print(f'{y},{z},{x}')
elif y>x>z:
print(f'{z},{x},{y}')
elif y>z>x:
print(f'{x},{z},{y}')
elif z>x>y:
print(f'{y},{x},{z}')
elif z>y>x:
print(f'{x},{y},{z}')
else:
print('不能出现相同数字')
# 运行结果:
输入整数:5
输入整数:8
输入整数:10
5,8,10
输入整数:10
输入整数:5
输入整数:22
5,10,22
输入整数:13
输入整数:6
输入整数:8
6,8,13
输入整数:6
输入整数:6
输入整数:12
不能出现相同数字
- 依次输入三角形的三边长,判断能否生成一个三角形
- 只要最长边长度小于另外两边边之和长即可
- 不要使用 max 函数等方法,利用现有学习的内容实现
- 不要输入重复边长
x = float(input('输入三角形边长:'))
y = float(input('输入三角形边长:'))
z = float(input('输入三角形边长:'))
if (x + y) > z and (x + z) > y and (y + z) > x:
print('能生成一个三角形')
else:
print('不能生成一个三角形')
# 运行结果:
输入三角形边长:5
输入三角形边长:7
输入三角形边长:15
不能生成一个三角形
输入三角形边长:6
输入三角形边长:8
输入三角形边长:10
能生成一个三角形
总结
持续的在前进中…