Sprawdzenie czy zostały wprowadzone tylko cyfry

0

Mam pewien problem z sprawdzaniem typu danych.

Chciałem by coś się wykonało wtedy, gdy podane dane będą liczbami.

liczba3 = input("Napisz jedną losową cyfre")
liczba2 = input("Napisz kolejną losową cyfre")
liczba1 = input("Napisz ostatnią losową cyfre")

if type(liczba1) == int and type(liczba2) == int and type(liczba3) == int:

Pomimo wpisywania w konsole tyko i wyłącznie cyfr to co znajduję się po if w ogóle się nie wykonuje.

3

Bo input jest stringiem

0
Okasink napisał(a):

Mam pewien problem z sprawdzaniem typu danych.

Chciałem by coś się wykonało wtedy, gdy podane dane będą liczbami.

Pojęcie "typ danych" istnieje tylko w kontekście kodu źródłowego.

Ty operujesz na wprowadzonych danych, więc dla nich nie ma czegoś takiego jak "typ". Dostajesz gołe dane, w Tym wypadku znaki wpisane z klawiatury. Owszem, możesz sprawdzić czy składają się wyłącznie z cyfr, ale to nie jest sprawdzanie typu.

Jeśli chcesz sprawdzić czy wprowadzone znaki składają się tylko z cyfr, możesz zrobić coś takiego:

my_string = "123"
try:
  int(my_string)
except:
  print("ciąg nie składa się tylko z cyfr")

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