Не уверен, что я делаю не так здесь (python3) - PullRequest
0 голосов
/ 21 сентября 2019

Сначала я хочу попросить пользователя ввести вес, затем я хочу спросить его, указаны ли его входные значения в килограммах или фунтах.Если они вводят вес в кг, я хочу вывести их вес в фунтах и ​​наоборот.

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» с выходным значением?Кажется, не получается отобразить «кг», когда я первоначально выбираю (л), но преобразование в порядке

1 Ответ

0 голосов
/ 21 сентября 2019

Всегда отображается «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() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...