Çö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
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()
Java için yazıyorum, zaten mantık aynı mantık.

Java:
Arraylist<String> kullanıcıgirdiler = new Arraylist<>;
//Arrayliste ekleme yapılacak.

for(int i=0; i < kullanıcıgirdiler.size;i++){
   
    System.out.println(i+ kullanıcıgirdiler.get(i));
   
}

Burada ekrana yazdırdım. Sen dosyaya yazdırırken System.out.println yerine kendi komutunu kullanırsın.
 
Bunu python a direk eklersek sytnax error veriyor.
Bu kodu python için düzenleyebilir misin ??
 
Maalesef phyton bilmiyorum, ama mantık aynı mantık. Bir liste oluşturacaksın. Kullanıcı listeye eleman girecek daha sonrasında 1. elemanı alacaksın örneğin, 1-elma, 2-armut, 3-karpuz gibi yazdıracaksın.
Burada her yazdırdığımda i artacak ve her seferinde sırasıyla başına sayı yazdırmış oluyorsun.
 
Peki böyle yaparsam programı kapatıp açsam dahi farklı sayı yazdıracak mı?yani mesela dosyaya 1-elma yazdırdık programı kapatıp açtık sonra kullanıcı armut yazınca başına yine 1 mi yazacak yoksak 2 olarak devam mı edecek ??
 
Python:
d = open(r"C:\Users\OrnekKullanici\Desktop\ornek.txt","w")
ornekarray = ["Ford", "Volvo", "BMW"]
i=0;
for a in ornekarray:
    i=i+1;
    print(i,a, file=d)
d.close()
Test ettim çalışıyor fakat daha fazla bilgi veremem çünkü python tecrübem 0
 
Elindeki listenin adının liste olduğunu varsayarsak bu şekilde listeden rastgele bir değer alabilirsin.
Python:
import random

a = random.choice(liste)
Dosyaya yazmak için dosyayı açman gerekiyor.
Python:
f = open("dosya.txt", "w")
f.write()    #Yazacağın şey. "print" içine ne yazıyorsan buraya da öyle yaz.
             #Metin gireceksen tırnak kullan yani
f.close()
Aşağıdaki gibi yaparsan başına 1 ve 5 dahil olacak şekilde o aralıkta tam sayı verecektir. Ek olarak Merhaba. metnini yazıyor.
Python:
import random

f = open("dosya.txt", "w")
f.write(random.randint(1,5) + "Merhaba.")
f.close()
 
Bende nedense choice çalışmıyor.Bende denemiştim.O da olmuyor denemiştim yani randint.Çalıştırınca hata veriyor...
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…