Jak sprawdzić liczbę całkowitą w Pythonie 3.2?
Próbuję napisać program, w którym użytkownik wprowadza dwucyfrową liczbę całkowitą, a dane wyjściowe to druga cyfra wydrukowana ilość razy wskazana przez pierwszą cyfrę. Oto, co mam do tej pory:
number = input('Type two-digit integer \n')
a = int(number)//10
b = int(number)%10
if len(number) != 2:
print(number, 'is not a two-digit integer')
else:
print(a*str(b))
Kiedy to sprawdzam, robi to, co zamierzam zrobić, dopóki ktoś wpisze liczby. Gdyby ktoś napisał, powiedzmy, 6r, pojawiłby się komunikat o błędzie:
a = int (liczba) // 10
ValueError: niepoprawny literał dla int () z bazą 10: „6r”
Zakładam więc, że coś trzeba umieścić w drugiej linii kodu, aby sprawdzić, czy dane wejściowe są w rzeczywistości liczbą całkowitą, jak bym to zrobił? Czy lepiej byłoby przepisać go w inny sposób? Proszę pamiętać, że biorę kurs wstępny do Pythona i jest to pytanie dotyczące praktyki, którą podejmuję, więc w przypadku, gdybym musiał odpowiedzieć na coś takiego w prawdziwym semestrze, nie mogę użyć wiele skomplikowanych procesów.
To jest coś, co wypróbowałem, jeśli ktoś wpisze coś, co nie jest liczbą całkowitą, ale z jakiegoś powodu nie wiem, czy daje ten sam komunikat dla liczb całkowitych i nie działa tak, jak zamierzam:
number = input('Type two-digit integer \n')
if (isinstance(number, int)) == False:
print(number, 'is not a two-digit integer')
elif len(number) != 2:
print(number, 'is not a two-digit integer')
else:
a = int(number)//10
b = int(number)%10
print(a*str(b))
Pomoc byłaby bardzo mile widziana!