Çözüldü Python metinde en çok kullanılan kelimelerin grafiğini çizen koda nasıl yazılır?

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

HC096

Yoctopat
Katılım
20 Mart 2023
Mesajlar
2
Daha fazla  
Cinsiyet
Erkek
Öncelikle selam. Hocamın verdiği Python ödevini çözemiyorum. Yardımcı olmanızı bekliyorum. Ödevim şu kullanıcıdan bir metin istenecek ve istenilen bu metinde en çok kullanılan 3 kelimeyi bulup bu kelimelerin grafiğini çizecek programı yapmak. Fakat birkaç not var bağlaçlar bu listeye dahil olmayacak.
 
Çözüm
Python:
import matplotlib.pyplot as plt

# Metni aliyoruz.
text = input("Metin giriniz: ")

# Kelimelerine ayiriyoruz.
words = text.lower().split()

# Bulunan kelime ve miktarlarini tutmak icin iki liste.
found = []
count = []

# Ayrilan kelimeleri tek tek geziyoruz.
for word in words:
    if word in found:
        # Kelime onceden bulunmus ise
        # bulunanlar listesindeki sirasina gore miktari arttiriyoruz.
        count[found.index(word)] += 1
    else:
        # Onceden bulunmamis ise bulunanlar listesine ekleyip sayilar listesine ilave ediyoruz.
        found.append(word)
        count.append(1)

# Grafik
fig, ax = plt.subplots()
ax.bar(found, count)
ax.set_ylabel('Miktar')
ax.set_title('Metindeki kelimelerin dağılımları')
plt.show()
wordgraph.png
Madem öyle yapacak o zaman neden bu işle uğraşıyor? Bu kişi kendini nasıl geliştirecek? İleride iş vereni problem sorduğunda ona bilmem ben hep ChatGPT'den yardım aldım sende öyle yap mı diyecek?
Yardım alabilirsiniz diyorum zaten hocam. Sıfırdan ona yazdırsın demiyorum. ChatGPT'nin yazdığı koda bakarak nasıl çalıştığını anlayıp, biraz değiştirip kendide yapabilir.
 
Python:
import matplotlib.pyplot as plt

# Metni aliyoruz.
text = input("Metin giriniz: ")

# Kelimelerine ayiriyoruz.
words = text.lower().split()

# Bulunan kelime ve miktarlarini tutmak icin iki liste.
found = []
count = []

# Ayrilan kelimeleri tek tek geziyoruz.
for word in words:
    if word in found:
        # Kelime onceden bulunmus ise
        # bulunanlar listesindeki sirasina gore miktari arttiriyoruz.
        count[found.index(word)] += 1
    else:
        # Onceden bulunmamis ise bulunanlar listesine ekleyip sayilar listesine ilave ediyoruz.
        found.append(word)
        count.append(1)

# Grafik
fig, ax = plt.subplots()
ax.bar(found, count)
ax.set_ylabel('Miktar')
ax.set_title('Metindeki kelimelerin dağılımları')
plt.show()
wordgraph.png
 
Son düzenleme:
Çözüm
Yapmak için denediğin kodu atarsan, anlatıp yardımcı oluruz. Bedava kod isteme.

Kendi kodum.

Python:
import matplotlib.pyplot as plt.

# Metni aliyoruz.
text = input("Metin giriniz: ")

# Kelimelerine ayiriyoruz.
words = text.split()

# Bulunan kelime ve miktarlarini tutmak icin iki liste.
found = []
count = []

# Ayrilan kelimeleri tek tek geziyoruz.
for word in words:
 if word in found:
 # Kelime onceden bulunmus ise.
 # bulunanlar listesindeki sirasina gore miktari arttiriyoruz.
 count[found.index(word)] += 1
 else:
 # Onceden bulunmamis ise bulunanlar listesine ekleyip sayilar listesine ilave ediyoruz.
 found.append(word)
 count.append(1)

# Grafik.
fig, ax = plt.subplots()
ax.bar(found, count)
ax.set_ylabel('Miktar')
ax.set_title('Metindeki kelimelerin dağılımları')
plt.show()

İlginiz için çok teşekkür ederim.
 

Dosya Ekleri

  • Screenshot_1.jpg
    Screenshot_1.jpg
    74,5 KB · Görüntüleme: 25

Yeni konular

Geri
Yukarı