《Python条件判断一文全掌握:核心知识点+20实战练习题》
Python条件判断知识点教程
一、条件判断的基本结构
if 语句:
if 条件:
# 条件为True时执行
if-else 语句:
if 条件:
# 条件为True时执行
else:
# 条件为False时执行
if-elif-else 语句:
if 条件1:
# 条件1为True时执行
elif 条件2:
# 条件2为True时执行
else:
# 其他情况执行
二、比较运算符
运算符 | 说明 | 示例 |
== | 等于 | 5 == 5 → True |
!= | 不等于 | 3 != 5 → True |
> | 大于 | 10 > 5 → True |
< | 小于 | 3 < 2 → False |
>= | 大于等于 | 5 >= 5 → True |
<= | 小于等于 | 4 <= 3 → False |
三、逻辑运算符
运算符 | 说明 | 示例 |
and | 逻辑与(全真为真) | True and False → False |
or | 逻辑或(一真即真) | True or False → True |
not | 逻辑非(取反) | not True → False |
四、布尔值与隐式转换
- 布尔值:True 和 False(首字母大写)。
- 隐式转换:
- 非零数字、非空字符串/列表等视为 True。
- 0、None、空字符串/列表等视为 False。
五、成员运算符
运算符 | 说明 | 示例 |
in | 是否在容器中 | 3 in [1,2,3] → True |
not in | 是否不在容器中 | 4 not in [1,2,3] → True |
20道练习题 & 答案
基础题
- 代码输出是什么?
x = 5
if x > 3:
print("A")
else:
print("B")
答案:A
- 以下代码的输出是?
age = 18
if age >= 18:
print("Adult")
else:
print("Teenager")
答案:Adult
- 如何判断一个数是否为偶数?
答案:
num = 10
if num % 2 == 0:
print("Even")
- not (5 > 3) 的结果是?
答案:False - 以下代码的输出是?
if 0:
print("Yes")
else:
print("No")
答案:No(0 视为 False)
进阶题
- 编写代码,判断用户输入的数字是否在 1 到 100 之间。
答案:
num = int(input("输入数字:"))
if 1 <= num <= 100:
print("Valid")
else:
print("Invalid")
- 以下代码的输出是?
a = 5
b = 10
if a > 3 and b < 15:
print("Pass")
else:
print("Fail")
答案:Pass
- 如何用一行代码判断字符串是否非空?
答案:
s = "Hello"
if s:
print("Non-empty")
- 以下代码的输出是?
x = 10
if x % 2 == 0 and x % 5 == 0:
print("Divisible by 10")
答案:Divisible by 10
- 检查用户输入是否是 "yes" 或 "YES"。
答案:
s = input("输入:")
if s.lower() == "yes":
print("Accepted")
应用题
- 判断年份是否为闰年(能被4整除但不能被100整除,或能被400整除)。
答案:
year = 2024
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("Leap year")
- 根据分数输出等级:90+为A,80-89为B,70-79为C,其他为D。
答案:
score = 85
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
else:
print("D")
- 用户输入用户名和密码,验证是否为 "admin" 和 "123456"。
答案:
username = input("用户名:")
password = input("密码:")
if username == "admin" and password == "123456":
print("登录成功")
else:
print("登录失败")
- 检查列表是否包含至少一个偶数。
答案:
nums = [1, 3, 5, 6]
if any(num % 2 == 0 for num in nums):
print("包含偶数")
- 判断一个字符是字母、数字还是其他符号。
答案:
char = 'A'
if char.isalpha():
print("字母")
elif char.isdigit():
print("数字")
else:
print("其他符号")
挑战题
- 以下代码的输出是?
a = 5
b = 5
print("Same" if a == b else "Different")
答案:Same(三元运算符)。
- 编写代码,判断一个数是否为质数(仅能被1和自身整除)。
答案:
num = 7
is_prime = True
if num <= 1:
is_prime = False
else:
for i in range(2, int(num**0.5)+1):
if num % i == 0:
is_prime = False
break
print("质数" if is_prime else "非质数")
- 用户输入三个数,找出最大值。
答案:
a = 10
b = 20
c = 15
max_value = a if a > b and a > c else (b if b > c else c)
print(max_value) # 20
- 判断一个字符串是否为回文(正反读相同)。
答案:
s = "level"
if s == s[::-1]:
print("回文")
- 根据用户输入的月份输出季节(春:3-5,夏:6-8,秋:9-11,冬:12-2)。
答案:
month = 7
if 3 <= month <= 5:
print("春季")
elif 6 <= month <= 8:
print("夏季")
elif 9 <= month <= 11:
print("秋季")
else:
print("冬季")
通过练习,可以熟练掌握Python条件判断的逻辑设计与实际应用!