Всегда отображается «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()