Python嵌套_多条件判断

python嵌套/多条件判断

概念

在条件语句里,再放条件语句

if[条件1]:  
  if[条件2]:  
  [语句A]  
  else:  
  [语句B]  
else:  
[语句C]
  • python会根据缩进判断属于哪个条件分支
  • 嵌套分支每次加四个空格

练习

# mood_index是0到100的整数
# is_at_home为布尔值
mood_index = int(input("今天的心情指数为:"))
is_at_home = int(input("今天在家吗?(1在,0不在):"))
is_at_home == 1
if mood_index < 60:
    if is_at_home:
        print("放弃游戏,低调做人")
    else:
        print("自由!")

小记:

  • 触发了SyntaxError: invalid syntax,

  • if条件后一定要加冒号" : "

  • 等于是"==",赋值是"=",弄混也会触发。

  • 一开始设的"is_at_home == 1", 条件"if is_at_home == 1"然后输入任何数都是条件为真。

  • 后面改成is_at_home==True,输入1时为真,输入0时为假。(暂时不知道原理)

  • 最后改成了赋值验证。

  • 触发了Python ValueError: invalid literal for int() with base 10 ,当尝试使用 int() 方法将字符串文字转换为整数并且字符串文字包含数字以外的字符时,可能会发生这种情况。

  • 原因是vscode的扩展激活失败,抽了。重启再次运行成功。

多条件判断

结构

if[条件一]:  
  [语句A]  
elif[条件二]:  
  [语句B]  
elif[条件三]:  
  [语句C]  
else:  
  [语句D]

结构解释

  • Python会依次判断各个条件,直到找到第一个为真的,执行里面的语句。(只会执行第一个满足条件的语句),一旦进入前面的分支就不会再看下面 的分支了。
  • elif的数量没有上限,也没有下限。

实践

# BMI = 体重 / (身高 ** 2)
user_weight = float(input("请输入您的体重(单位:kg):"))
user_height = float(input("请输入您的身高(单位:m):"))
user_BMI = user_weight / (user_height) ** 2
print("您的BMI值为:" + str(user_BMI))

# 偏瘦:user_BMI <= 18.5
# 正常:18.5 < user_BMI <= 25
# 偏胖:25 < user_BMI <= 30
# 肥胖:user_BMI > 30
user_gender = input("请输入您的性别(男或女):")
a = "女"
b = "男"
if user_gender == a:
    if user_BMI <= 18.5:
        print("女士您好,此BMI值属于偏瘦范围。")
    elif 18.5 < user_BMI <= 25:
        print("女士您好,此BMI值属于正常范围。")
    elif 25 < user_BMI <= 30:
        print("女士您好,此BMI值属于偏胖范围。")
    else:
        print("女士您好,此BMI值属于肥胖范围。")
else:
    if user_BMI <= 18.5:
        print("先生您好,此BMI值属于偏瘦范围。")
    elif 18.5 < user_BMI <= 25:
        print("先生您好,此BMI值属于正常范围。")
    elif 25 < user_BMI <= 30:
        print("先生您好,此BMI值属于偏胖范围。")
    else:
        print("先生您好,此BMI值属于肥胖范围。")
posted @ 2024-06-05 22:23  花鸿渐  阅读(10)  评论(0编辑  收藏  举报