Python - STR mi INT mi Kontrolü

Merhaba şimdi iki sorum var.

Birincisi, kullanıcıdan veri alırken sadece sayı girmesini nasıl sağlayabilirim?

int(input()) şeklinde sormuyorum. direk input() olarak başlamalı ve sadece sayı almalı.

ya da

İkincisi, kullanıcıdan veri alırken;

cash = input("Tutar = ")

burada cash’in float olup olmadığını kontrol etmek istiyorum çünkü kullanıcı bu kısımda sayı yerine str yazabilir ve ben uyarı vererek sayı girişi yapmasını isteyeceğim. TRY ve EXCEPT blokları ile denemeye çalıştım ama tam beceremedim.

Bana yardımcı olur musunuz?

2 Beğeni

type() kullanarak yapabilirsin

1 Beğeni

Mesela

a=1.4
print(type(a)==float)#true

Birinci sorunu anlamadım
Çünkü her türlü kullanıcıdan aldığın veriyi bir veri tipine donusturmelisin(eğer ekrana basma dışında bir işlem yapcaksan)

1 Beğeni

Kullanıcı string girişi yaparsa ne olacak?

1 Beğeni

Eğer int input ise hata verir ama type ile yaparsanız istediğinizi yapabilirsiniz

1 Beğeni

Mesela

if type(input()) == str:
     print("sayı gir")
1 Beğeni

input() her sekilde string donduruyor.

Denemelerini gorebilir miyiz? Ne olmadi?

cash = input("Tutar = ")

try:
    cash = float(cash)
except:
    if cash != "q":
else:

Böyle bir yapı kontrol için uygun mudur? Uygun olmadığını düşünüyorum çünkü hata veriyor bunu çalıştırdığım zaman.

1 Beğeni
while True:
	cash = input("Tutar = ")
	if cash == "q": break

	try:
		cash = float(cash)
		break
	except:
		print("sayi lazim sayi")

print(cash)

"""
Tutar = z
sayi lazim sayi
Tutar = x
sayi lazim sayi
Tutar = c
sayi lazim sayi
Tutar = v
sayi lazim sayi
Tutar = q
q

Press ENTER or type command to continue
Tutar = 3
3.0

Press ENTER or type command to continue
Tutar = 5
5.0
"""
4 Beğeni

Çok teşekkür ederim. Şimdi iyice kafama oturdu. Sağolun

1 Beğeni
if isinstance(var, str):
    # string

Arkadaş başka bir şey istemiş ama bu da konuyla alakalı.