Python Veri Tipi Dönüşümü

Eyyüp Ensar

Femtopat
Katılım
4 Ocak 2021
Mesajlar
12
Python:
import random

number=int(input('bir sayı giriniz'))
result=random.uniform(1,10)
a=int(result)
if number==a:
    print(f'sayıyı buldunuz {result}')
else:
    print(f'bulduğunuz sayı yanlış {result}')

Yaptığım küçük bir kodlamada iki sayıyı karşılaştırıyorum ama karşılaştırdığım sayı Fluat veri tipini Inte çeviriyorum ama olmuyor. Yine ondalıklı sayı çıkıyor. Bu kullandığım random modülü ile mi ilgili, nerede hata yapıyorum?
 

exTypen

Centipat
Katılım
7 Mart 2020
Mesajlar
1.938
Çözümler
7
Sizin print içine "a" değişkenini atamanız lazım veya a = int(result) yerine result = int(result) demeniz gerekiyor.

Eğer random.randint kullanırsanız bunların hiçbirine gerek kalmaz.
 

Vavien.

Terapat
Katılım
20 Aralık 2014
Mesajlar
9.451
Makaleler
6
Çözümler
196
Yer
İstanbul
İstediğiniz şeyi yapıyor sanırım. Hatanız söylendiği gibi integer yaptığınız değişkeni değil de hala eski değişkeni kullanıyor olmanız.

Kod:
import random

number = int(input("Bir sayı giriniz: "))
result = random.randint(1, 10)
a = int(result)

if number == a:
    print(f"Sayıyı buldunuz: {result}")
else:
    print(f"Bulduğunuz sayı yanlış. Sayı {result} idi.")
 
KS
E

Eyyüp Ensar

Femtopat
Katılım
4 Ocak 2021
Mesajlar
12
Random modülünde uniform methodu içeride fluat bir sayı döndürüyor ben bunu nasıl çevirebilirim diye baktım. Random modülünde randint methodu içeride int sayı döndürüyor. Veri tipi dönüşümünde kullanımım yanlış büyük ihtimalle, result = int(result) kullandığımda randomdan aldığım fluat bir sayıyı inte çevirebildim.
 

exTypen

Centipat
Katılım
7 Mart 2020
Mesajlar
1.938
Çözümler
7
Veri tipi dönüşümünde kullanımım yanlış büyük ihtimalle,
Tip değişimini doğru yapmışsınız ama oluşturduğunuz a değişkenini kullanmamışsınız. Eğer alt tarafta a değişkenini yazdırsaydınız istediğiniz olacaktı. Ancak en mantıklısı hiç uğraşmayıp random.randint kullanmak tabii ki.
 
Yukarı