Witam.
Zacząłem naukę programowania i jako pierwszy język wybrałem Pythona. Próbuję napisać prosty kalkulator, który będzie wykrywał czy wprowadzone zostały odpowiednie dane, a mianowicie liczby. Natknąłem się jednak na problem. Pisząc warunek biorę pod uwagę, że jeśli osoba poda wartości liczbowe (liczby całkowite) to zostaną one uznane za wartości typu int jednak za każdym razem podane za pomocą polecenia input() wartości są traktowane od razu jako stringi. Konwertowanie ich nie ma sensu. Gdy użytkownik poda wartości int to program zadziała jednak gdy poda wartość str to wtedy nastąpi błąd braku możliwości konwersji stringa na integer. Kod wygląda tak:
a = (input ("PODAJ PIERWSZA WATOSC: "))
b = (input ("PODAJ DRUGA WARTOSC: "))
if type(a) == int and type(b) == int:
x = (int(a) + int(b))
print("SUMA = " + str(x))
y = (int(a) - int(b))
print("ROZNICA = " + str(y))
z = (int(a) * int(b))
print("ILOCZYN = " + str(z))
v = (int(a) / int(b))
print("ILORAZ = " + str(v))
else:
print ("Podane wartości nie są liczbami!")
Czy Python zawsze nadaje typ str wartości wprowadzonej za pomocą polecenia input()? Jeżeli tak to w takim razie jak napisać program, który zweryfikuje czy użytkownik podaje odpowiednie dane?
Dziękuję za wyrozumiałość.