Python自学——if嵌套 案例一的优化

#输入
#加上容错处理,数据有效性的处理
length = float(input('请输入您的身高(m):'))
weight = float(input('请输入您的体重(kg):'))
age = int(input('请输入您的年龄:'))
sex_input = input('请输入您的性别:')
if not(0<length<3 and 0<weight<300 and 0<age<100 and (sex_input == '男' or sex_input == '女')):
    exit()
#数据处理
sex = () 
if sex_input=='男': 
    sex = 1
elif sex_input=='女':
    sex = 0
print (sex)
BMI = weight/length/length
score = 1.2*BMI + 0.23*age -5.4 -18.8*sex
print(BMI)
print(score) 
# if sex_input=='男': 
#     mim = 15.00
#     max = 18.00
#     print('先生你好')
# elif sex_input=='女':
#     #这里是elif,不是else
#     mim = 25.00
#     max = 28.00
#     print('女士你好')
# if mim<score<max:
#     print('恭喜你,你的身体非常健康')
# elif score<mim:
#     print('请注意,你的身体偏瘦')
# elif score>max:
#     print('请注意,你的身体偏胖')
#下面这几行可以简化如下(把print放在最后一起输出)
if sex_input=='男': 
    mim = 15.00
    max = 18.00
    wenhao = '先生你好'
elif sex_input=='女':
    #这里是elif,不是else
    mim = 25.00
    max = 28.00
    wenhao = '女士你好'
result = mim<score<max
if result:
    tishi = '恭喜你,你的身体非常健康'
elif score<mim:
    tishi = '请注意,你的身体偏瘦'
else:
    tishi = '请注意,你的身体偏胖'
print(wenhao,tishi)

# #输出
# if (sex == 1 and 15<=score<= 18)or(sex == 0 and 25<=score<=28):
#         print('您的体脂率合格!')
# else:
#         print('您的体脂率不合格。')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个使用Python中的while和for循环嵌套的例子: ``` # 例子:打印九九乘法表 i = 1 while i <= 9: j = 1 while j <= i: print(f"{j} * {i} = {i*j}", end="\t") j += 1 print("\n") i += 1 ``` 在这个例子中,我们使用了while循环来控制九九乘法表的行数。外层while循环控制乘法表的行数,内层while循环控制每一行中的列数。 在内层循环中,我们使用了for循环来打印乘法表中的每一个元素。for循环从1到i遍历,在每次循环中打印出当前行数和列数的乘积。 最后,我们通过使用换行符和制表符来使乘法表的输出更具可读性。 这个例子展示了如何使用while和for循环嵌套来解决问题。多层循环嵌套可以用于解决许多需要重复执行特定任务的问题,而每层循环控制的是不同的维度。 希望这个例子能够帮助你理解在Python中如何使用while和for循环嵌套。 ### 回答2: Python中的while和for循环是非常有用的工具,尤其是在需要迭代或重复执行某些操作的情况下。下面是一个使用while和for循环嵌套案例。 假设我们要打印一个由数字组成的三角形,其中每一行都是由1到该行数字的范围构成。例如,第一行是1,第二行是1 2,第三行是1 2 3,以此类推。 我们可以使用嵌套的while和for循环来实现这个任务。首先,我们定义一个变量n来表示三角形的行数,并设置初始值为5。 接下来,我们使用while循环来控制行数。在每次迭代中,我们使用for循环来打印每一行的数字。 代码如下: ```python n = 5 i = 1 while i <= n: j = 1 while j <= i: print(j, end=' ') j += 1 print() i += 1 ``` 当i等于1时,内部的for循环会打印数字1。接着,当i等于2时,for循环会打印数字1和2。以此类推,直到i等于5,整个三角形都被打印出来。 运行这段代码,你将会得到以下输出: ``` 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 ``` 这个案例展示了如何使用while和for循环嵌套来构建一个简单的三角形打印程序。嵌套的循环可以帮助我们在需要迭代多次的情况下更好地控制程序的流程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值