Çözüldü Python'da değişkene değişebilen bir değer atamak

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

TRMKTR

Centipat
Katılım
30 Temmuz 2022
Mesajlar
303
Yer
Konya
Python'la ufak bir uygulama yaptım ama kafama bir soru takıldı:
Ad =...
Dedim ve bir isim yazdım, bu değişkenin değerini herhangi bir şey yazmadan nasıl değiştirebilirim? Mesela bir metin dosyası oluşturdum ve sırasıyla 3 tane isim girdim. Ve değişkenin sırasıyla bu isimleri almasını istiyorum. Örnek olarak uygulamayı 1. kez çalıştırdım talha yazdı, 2. kez çalıştırdım Mehmet yazdı, 3. kez çalıştırdığımda farklı bir isim yazdı. Bunun bir yolu var mıdır? Olduğunu pek sanmıyorum ama sormak istedim.
 
Çözüm
Evet, tam olarak böyle bir şey diyebilirim ama bu liste iyice uzarsa bunu daha kısa bir şekilde yazmanın yolu var mıdır?
Liste uzun olacaksa isterseniz bir metin dosyasının içine isimleri yazarsınız. Daha sonra isimleri bu dosyadan alırsınız.

Mesela görseldeki gibi içinde isimlerin olduğu bir metin dosyamız olsun:

1671037396679.png


Aşağıdaki kodla bu dosyadan rastgele isim çekebilirsiniz:
Python:
import random
#Dosya.txt yazan yere kendi dosyanızın adı gelecek
with open("dosya.txt") as f:
    dosyaicerigi = f.readlines()
    print(random.choice(dosyaicerigi))
Python:
ad = ["Ahmet", "Mehmet", "Ayşe"]

for isimler in ad:
    print(isimler)

Şeklinde bir şey mi istiyorsunuz?
 
Python'la ufak bir uygulama yaptım ama kafama bir soru takıldı:
Ad =...
Dedim ve bir isim yazdım, bu değişkenin değerini herhangi bir şey yazmadan nasıl değiştirebilirim? Mesela bir metin dosyası oluşturdum ve sırasıyla 3 tane isim girdim. Ve değişkenin sırasıyla bu isimleri almasını istiyorum. Örnek olarak uygulamayı 1. kez çalıştırdım talha yazdı, 2. kez çalıştırdım Mehmet yazdı, 3. kez çalıştırdığımda farklı bir isim yazdı. Bunun bir yolu var mıdır? Olduğunu pek sanmıyorum ama sormak istedim.

Öyle bir şey yok galiba hocam.
 
Python:
ad = ["Ahmet", "Mehmet", "Ayşe"]

for isimler in ad:
    print(isimler)

Şeklinde bir şey mi istiyorsunuz?
Ben daha çok şu şekilde anladım hocam:

Python:
import random

isimlistesi = ["Ahmet", "Ayşe", "Selin"]

rastgeleisim = random.choice(isimlistesi)

print(rastgeleisim)
 
Evet, tam olarak böyle bir şey diyebilirim ama bu liste iyice uzarsa bunu daha kısa bir şekilde yazmanın yolu var mıdır?
Her program çalıştığında bir çıktı almak istiyorsanız @siriius'un dediği gibi yapın.
 
@Kernelginar ve @siriius gayet iyi bir şekilde açıklamış.

Evet, tam olarak böyle bir şey diyebilirim ama bu liste iyice uzarsa bunu daha kısa bir şekilde yazmanın yolu var mıdır?

En başta belirttiğin gibi isimleri ayrı bir dosyada tutabilir ve bu dosyadan çekebilirsin:

Python:
from random import choice

with open("DosyaYolu") as f:
 isimler = [isim.strip() for isim in f.readlines()]

print(choice(isimler))
 
Evet, tam olarak böyle bir şey diyebilirim ama bu liste iyice uzarsa bunu daha kısa bir şekilde yazmanın yolu var mıdır?
Liste uzun olacaksa isterseniz bir metin dosyasının içine isimleri yazarsınız. Daha sonra isimleri bu dosyadan alırsınız.

Mesela görseldeki gibi içinde isimlerin olduğu bir metin dosyamız olsun:

1671037396679.png


Aşağıdaki kodla bu dosyadan rastgele isim çekebilirsiniz:
Python:
import random
#Dosya.txt yazan yere kendi dosyanızın adı gelecek
with open("dosya.txt") as f:
    dosyaicerigi = f.readlines()
    print(random.choice(dosyaicerigi))
 
Çözüm
Liste uzun olacaksa isterseniz bir metin dosyasının içine isimleri yazarsınız. Daha sonra isimleri bu dosyadan alırsınız.

Mesela görseldeki gibi içinde isimlerin olduğu bir metin dosyamız olsun:

Eki Görüntüle 1602684

Aşağıdaki kodla bu dosyadan rastgele isim çekebilirsiniz:
Python:
import random
#Dosya.txt yazan yere kendi dosyanızın adı gelecek
with open("dosya.txt") as f:
    dosyaicerigi = f.readlines()
    print(random.choice(dosyaicerigi))
Peki hocam rastgele değilde sırasıyla çekmek istersem, bir şey yapmama gerek yok mu?
 

Yeni konular

Geri
Yukarı