Konwerter jednostek - prośba o sprawdzenie kodu

0

Piszę program w Pythonie który jest konwerterem jednostek z cali na centymetry i odwrotnie. Mam taki problem gdyż nie wiem w czym tkwi błąd, kompilator nie wyrzuca mi żadanego błedu natomiast w momencie wybrania rodzaju operacji dostaję taki oto efekt

"Witam w konwerterze jednostek
Wpisz numer operacji której chcesz użyć
1.Z cali na centymetry
2.Z centymetrów na cale
Numer operacji:1
Zła cyfra"

print('Witam w konwerterze jednostek')
print('''Wpisz numer operacji której chcesz użyć
1.Z cali na centymetry
2.Z centymetrów na cale''')
numer=input('Numer operacji:')

if numer==1:
    a=input('Podaj długość w calach: ')
    print('Dlugość w centymetrach wynosi: ',a*2.54)
elif numer==2:
    a=input('Podaj długość w centymetrach: ')
    print('Dlugość w calach wynosi: ',a/2.54)
else:
    print('Zła cyfra')

Proszę o wyrozumiałość zdaje sobie sprawę z tego, że jakość kodu nie jest najwyższych lotów.

2

input(...) wprowadza string. Należy go zamienić na typ int/float czy co tam chcesz.
Najszybciej:

zmienna_calkowita = int(input("Podaj liczbę: "))
2

Rozbij sobie kod na małe funkcje, np.

def read_int(prompt_msg):
  return int(input(prompt_msg))

def cm_to_inch(centimeters):
  return centimeters / 2.54

def inch_to_cm(inches):
  return inches * 2.54

i korzystaj z nich w funkcji main.

Druga sprawa, odnośnie takich błędów - zainstaluj sobie jakiegoś linta, np. http://www.pylint.org/ Powinien on wykrywać takie błędy jak porównanie stringa z liczbą etc.

0

Wielki dzięki za pomoc już wszytko działa jak należy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1