Çözüldü Python ile .txt dosyasından rastgele satır seçmek

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

Mor1arty

Picopat
Katılım
17 Aralık 2022
Mesajlar
201
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Python ile .txt dosyasından rastgele satır seçmeye yarayan bir program yapmaya çalışıyorum. Belirli bir noktaya kadar yaptım, yüklediğim resimden görebilirsiniz ancak bir harf seçip o harf ile başlayan satırlardan rastgele seçilmesini istiyorum. Yardımcı olabilir misiniz?

Python:
import random

harf = input("Harf seçin: ")
with open ("movies.txt") as f:
    print(random.choice(movies))
 

Dosya Ekleri

  • Screenshot from 2022-12-27 19-56-59.png
    Screenshot from 2022-12-27 19-56-59.png
    9,8 KB · Görüntüleme: 52
Son düzenleyen: Moderatör:
Çözüm
Tamamdir sorunu buldum. Büyük küçük harften kaynaklanıyormuş. Bu şekilde güncelleyin.
Python:
import random

harf = input("Harf seçin: ")
with open ("movies.txt") as f:
    movies = f.readlines()
    filtered_movies = list(filter(lambda m: m[0].lower() == harf.lower(), movies))
    print(random.choice(filtered_movies))
Python:
import random

harf = input("Harf seçin: ")
with open ("movies.txt") as f:
    movies = list(filter(lambda m: m[0] == harf, f.readlines()));
    print(random.choice(movies))
Bu şekilde yapabilirsiniz. Lambda fonksiyonu ile filtreleyip rastgele seçiyoruz.
 
Python:
import string
import random

with open('dosya_ismi.txt', 'r') as f:
    satirlar = f.readlines()
    harfler = string.ascii_lowercase
    secilen_harf = input("Bir harf giriniz:")
    secilen_satirlar = []
    for satir in satirlar:
        if satir.startswith(secilen_harf):
            secilen_satirlar.append(satir)
rasgele_satir = random.choice(secilen_satirlar)
print(rastgele_satir)
ChatGPT yardımıyla düzenledim.
 
Son düzenleme:
Python:
import string
import random

with open('dosya_ismi.txt', 'r') as f:
 satirlar = f.readlines()
 harfler = string.ascii_lowercase
 secilen_harf = random.choice(harfler)
 secilen_satirlar = []
 for satir in satirlar:
 if satir.startswith(secilen_harf):
 secilen_satirlar.append(

Kaynak: ChatGPT
Neyi append ediyoruz secilen_satirlar listesine? Kopyala yapıştır yapmak zor olmamalı. Ayrıca indent hatası var.
 
Neyi append ediyoruz secilen_satirlar listesine? Kopyala yapıştır yapmak zor olmamalı. Ayrıca indent hatası var.
import random
secilen_harf = input('Lütfen bir harf girin: ')
filtrelenmis_satirlar = []
with open('dosya.txt', 'r') as f:
for satir in f:
if satir[0] == secilen_harf:
filtrelenmis_satirlar.append(satir) rastgele_satir = random.choice(filtrelenmis_satirlar)

import random
secilen_harf = input('Lütfen bir harf girin: ')
filtrelenmis_satirlar = []
with open('dosya.txt', 'r') as f:
for satir in f:
if satir[0] == secilen_harf:
filtrelenmis_satirlar.append(satir) rastgele_satir = random.choice(filtrelenmis_satirlar)
cevapla dersen gözüküyor şuan boşluklar
 
Python:
import random

harf = input("Harf seçin: ")
with open ("movies.txt") as f:
    movies = list(filter(lambda m: m[0] == harf, f.readlines()));
    print(random.choice(movies))
Bu şekilde yapabilirsiniz. Lambda fonksiyonu ile filtreleyip rastgele seçiyoruz.
Attığınız kodu denedim, böyle bir hata verdi.
 

Dosya Ekleri

  • Screenshot from 2022-12-27 20-39-26.png
    Screenshot from 2022-12-27 20-39-26.png
    11,2 KB · Görüntüleme: 22

Yeni konular

Geri
Yukarı