Python öğrenmeye çalışıyorum ve aklıma gelen her şeyi deniyorum. Karşıdaki kişiden bilgi alıp en son karşısına çıkarmak istiyorum. Yani listeye yazdığı şeyler en son önüne çıksın istiyorum ama kodu çalıştırdığımda "cevabınız için teşekkürler! Şarkılarınız: 123" yazıyor. Oradaki 123 yerine şarkıları göstermek istiyorum, nasıl yapabilirim?
Python:
import time
import os
print("ŞARKILARINIZ BİTİNCE 123 YAZINIZ")
while True:
liste = input("istediğiniz şarkılar: ")
if liste == "123":
print("cevabınız için teşekkürler! Şarkılarınız:",liste)
time.sleep(5)
break
Python öğrenmeye çalışıyorum ve aklıma gelen her şeyi deniyorum. Karşıdaki kişiden bilgi alıp en son karşısına çıkarmak istiyorum. Yani listeye yazdığı şeyler en son önüne çıksın istiyorum ama kodu çalıştırdığımda "cevabınız için teşekkürler! Şarkılarınız: 123" yazıyor. Oradaki 123 yerine şarkıları göstermek istiyorum, nasıl yapabilirim?
Python:
import time
import os
print("ŞARKILARINIZ BİTİNCE 123 YAZINIZ")
while True:
liste = input("istediğiniz şarkılar: ")
if liste == "123":
print("cevabınız için teşekkürler! Şarkılarınız:",liste)
time.sleep(5)
break
song = None
songs = []
while True:
song = input("İstediğiniz şarkı: ")
if song == "123":
break
songs.append(song)
print("Cevabınız için teşekkürler! Şarkılarınız:")
for item in songs:
print(f" {item}")
Çoooooooooooooooooooooooook mantıksız kod. Öncelikle bu şekilde tepki vermeme kızabilirsin. Önemli değil. Fakat azıcık mantığımızı kullanırsak kodun neden çalışmayacağını anlarız.
Python:
import time
import os
print("ŞARKILARINIZ BİTİNCE 123 YAZINIZ")
while True:
liste = input("istediğiniz şarkılar: ")
if liste == "123":
print("cevabınız için teşekkürler! Şarkılarınız:",liste)
time.sleep(5)
break
Şimdi satır satır bakalım koduna. İlk 2 satırda gereksiz iki adet import var. Time kullanımı gereksiz, os kullanımı gereksiz. Os'ten hiç bir şey kullanmıyorsun. Daha sonra kullanacaksan bilemem.
while True:
Sonsuz bir döngü, çok sorun değil ama bu tarz bir durum için inp != "123" kullanmak daha mantıklı olur. liste = input(". . .") Şimdi asıl noktaya geldik. Her seferinde liste adlı değişkene yeni bir değer veriyorsun. Stringe ekleme yapmıyor veya gerçek bir liste kullanmıyorsun. Dolayısıyla 123 girdiğin zamanda son değer olan 123'ü görüyorsun.
Bu şekilde istediğin sonucu elde ederdin. Aradaki printleri koymadım.
Python:
liste = []
inp = ""
while inp != "123":
inp = input(". . .")
liste.append(inp)
liste.pop()
print(liste)
Çoooooooooooooooooooooooook mantıksız kod. Öncelikle bu şekilde tepki vermeme kızabilirsin. Önemli değil. Fakat azıcık mantığımızı kullanırsak kodun neden çalışmayacağını anlarız.
Python:
import time.
import os.
print("ŞARKILARINIZ BİTİNCE 123 YAZINIZ")
while True:
liste = input("istediğiniz şarkılar: ")
if liste == "123":
print("cevabınız için teşekkürler! Şarkılarınız:",liste)
time.sleep(5)
break
Şimdi satır satır bakalım koduna. İlk 2 satırda gereksiz iki adet import var. Time kullanımı gereksiz, OS kullanımı gereksiz. OS'ten hiçbir şey kullanmıyorsun. Daha sonra kullanacaksan bilemem.
while True:
Sonsuz bir döngü, çok sorun değil ama bu tarz bir durum için inp!= "123" kullanmak daha mantıklı olur. liste = input(". . .") şimdi asıl noktaya geldik. Her seferinde liste adlı değişkene yeni bir değer veriyorsun. Stringe ekleme yapmıyor veya gerçek bir liste kullanmıyorsun. Dolayısıyla 123 girdiğin zamanda son değer olan 123'ü görüyorsun.
Bu şekilde istediğin sonucu elde ederdin. Aradaki printleri koymadım.
Python:
liste = []
inp = ""
while inp != "123":
inp = input(". . .")
liste.append(inp)
liste.pop()
print(liste)
Time kullanmamın sebebi kod bittikten sonra hemen kapanmaması için en azından bir süre bekletmekti OS eklememin amacı ise bazı yerlerde kirlilik oluşmasın diye cls eklemek için yazmıştım dediğim gibi daha yeni yeni öğrenmeye çalışıyorum bu yüzden birçok mantıksızlık olacaktır yorumun ve yardımın için teşekkür ederim.