首先,我想问用户输入重量,然后问他们输入值是公斤还是磅。如果他们以公斤为单位输入重量,我想以磅为单位输出重量,反之亦然。
weight = input('Enter your weight: ')
unite = input('In kg(k) or lbs(l)? ')
k = 2.2046/float(weight)
l = 0.453592*float(weight)
if weight and k:
print(l ,'lbs')
elif weight and l:
print(k ,'kg')
这是我的工作。有人可以解释为什么它的输出值总是显示“ lbs”吗?最初选择(l)时似乎无法显示“ kg”,但转换很好
答案 0 :(得分:0)
它始终显示“ lbs”,因为第一个条件始终为真。
if weight and k:
它只是检查权重和k值是否同时存在,如果执行,则执行if条件。
因此将条件更改为:
if weight and unite=='k':
print(l ,'lbs')
elif weight and unite=='l':
print(k ,'kg')
查看此代码:
weight = input('Enter your weight: ')
unite = input('In kg(k) or lbs(l)? ').strip()
k = 2.2046/float(weight)
l = 0.453592*float(weight)
if weight and unite=='k':
print(l ,'lbs')
elif weight and unite=='l':
print(k ,'kg')
如果用户在提供输入的同时提供空间,则将无法使用。因此,我使用strip()删除了空间。
unite = input('In kg(k) or lbs(l)? ').strip()