Ваш скрипт:
- отсутствует ()
- использует неизвестное имя
Unit
- пытается добавить строку и цифры:
print("Weight in pounds: " + weight)
- неверно рассчитывает фунт
- использует () где не применимо
- использует
else if ... :
weight = int(input("Enter weight: "))
unit = input("(K)kilograms or (P)pounds? ")
if unit.upper == "P": # unit.upper()
(weight*=1.6) # ( ) are wrong, needs /
print("Weight in kilograms: " + weight) # str + float?
else if Unit=="K": # unit ... or unit.upper() as well
(weight*=1.6) # ( ) are wrong
print("Weight in pounds: " + weight) # str + float
else:
print("ERROR INPUT IS WRONG!")
Вы можете просто использовать .upper()
непосредственно со своим вводом:
# remove whitespaces, take 1st char only, make upper
unit = input("(K)kilograms or (P)pounds? ").strip()[0].upper()
Еще лучше, наверное:
weight = int(input("Enter weight: "))
while True:
# look until valid
unit = input("(K)kilograms or (P)pounds? ").strip()[0].upper()
if unit in "KP":
break
else:
print("ERROR INPUT IS WRONG! K or P")
if unit == "P":
weight /= 1.6 # fix here need divide
print("Weight in kilograms: ", weight) # fix here - you can not add str + int
else:
weight *= 1.6
print("Weight in pounds: ", weight)
Вы должны посмотреть в str.format:
print("Weight in pounds: {:.03f}".format(weight)) # 137.500
см. Например Использование мини-языка спецификации формата Python для выравнивания поплавков