Çözüldü Python Idle rastgele sayı seçip dosyaya yazdırma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

alpersamur3

Hectopat
Katılım
10 Mayıs 2020
Mesajlar
156
Python ıdle'de programımın listeden rastgele bir sayı seçip onu dosyaya yazmasını nasıl sağlarım?
Ya da kullanıcıdan aldığım veriyi dosyaya yazarken başına sırayla her seferinde farklı bir sayı yazmasını nasıl sağlarım? Şimdiden teşekkürler.
 
Son düzenleyen: Moderatör:
Çözüm
Hızlıca bir kod yazmaya çalıştım. Random modülünü importladım en başta. "a" adında boş bir liste oluşturarak rastgele oluşturulan sayıları bu listenin içerisine ekledim ki eğer ki daha önce aynı sayı oluşturulduysa bir daha gelmesin diye. "random_sayi" adında fonksiyon oluşturarak içerisinde rastgele bir sayı elde eden değer oluşturdum. İncelediğiniz zaman çok daha iyi anlayacaksınız. def random_sayi():'dan itibaren içeriye alınız tüm kodları görselde gösterildiği gibi
Adsız.png

import random
a = []
def random_sayi():
random_number = random.randint(1, 5)
if random_number in a:
return random_sayi()
if random_number not in a:
a.append(random_number)
random_sayi()
Her seferinde farklı sayı yazmasını sağlamak derken, örneğin, kullanıcının bir önce ki input'undaki değeri ile sonradan girdiği değerin farklı olmasını mı istiyorsun?
Hayır.Şimdi programın kullanıcıdan aldığı bilgileri dosyaya yazarken başına bir tane rastgele bir sayı yazmasını istiyorum.Ama o sayılar her seferinde farklı olmalı
 
Python:
import random
d = open(r"C:\Users\Ornek\Desktop\log.txt","a")
e_posta = input()
sifre= input()
randomsayi=random.randint(1,100)
print(randomsayi,e_posta,file=d)
print(randomsayi,sifre,file=d)
d.close()
1 ile 100 arasında rastgele sayı oluşturuyor fakat oluşturulan sayılar eşsiz değil. Önceden yazılmış olan bilgilerin üstüne yazmıyor, yalnızca ekleme yapıyor.
 
Hızlıca bir kod yazmaya çalıştım. Random modülünü importladım en başta. "a" adında boş bir liste oluşturarak rastgele oluşturulan sayıları bu listenin içerisine ekledim ki eğer ki daha önce aynı sayı oluşturulduysa bir daha gelmesin diye. "random_sayi" adında fonksiyon oluşturarak içerisinde rastgele bir sayı elde eden değer oluşturdum. İncelediğiniz zaman çok daha iyi anlayacaksınız. def random_sayi():'dan itibaren içeriye alınız tüm kodları görselde gösterildiği gibi
Adsız.png

import random
a = []
def random_sayi():
random_number = random.randint(1, 5)
if random_number in a:
return random_sayi()
if random_number not in a:
a.append(random_number)
random_sayi()
 
Çözüm
cevap veren herkese teşekkürler
Hızlıca bir kod yazmaya çalıştım. Random modülünü importladım en başta. "a" adında boş bir liste oluşturarak rastgele oluşturulan sayıları bu listenin içerisine ekledim ki eğer ki daha önce aynı sayı oluşturulduysa bir daha gelmesin diye. "random_sayi" adında fonksiyon oluşturarak içerisinde rastgele bir sayı elde eden değer oluşturdum. İncelediğiniz zaman çok daha iyi anlayacaksınız. def random_sayi():'dan itibaren içeriye alınız tüm kodları görselde gösterildiği gibi Eki Görüntüle 575627
import random
a = []
def random_sayi():
random_number = random.randint(1, 5)
if random_number in a:
return random_sayi()
if random_number not in a:
a.append(random_number)
random_sayi()
bunu denedim ilk önce 5 sonra 1 sonra tekrar 1 çıktısını verdi ??
 
Son düzenleme:
cevap veren herkese teşekkürler

bunu denedim ilk önce 5 sonra 1 sonra tekrar 1 çıktısını verdi ??
Üzerinde ufak bir değişiklik yaparak doğru sonuca ulaşabilirsiniz. Ayak üstü yazmıştım. Zaten bu kod yalnızca bir defa çalışıyor. Eğer ki while döngüsüne alırsanız sürekli çalıştırıp, bu sayede tekrardan kurtulursunuz. Fonksiyon bir kere çalıştıktan sonra durunca "a" listesi sıfırlanıyor. Bunun önüne geçmek için dediğim gibi while döngüsüne alın.
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı