Elimde 3 satırlık metinler var. Bunu direkt scripte yapıştırdığımda bana her satır listenin bir elemanı olacak şekilde ayırması lazım. Bunu nasıl yapabilirim?
(Ayrı ayrı stringler haline getirmek de işimi görür, eğer bunu biliyorsanız onu da yazabilirsiniz. Asıl önemli olan bir satır boşluk olan metni satırlarına ayırabilmek.)
I want to write a program that gets multiple line input and work with it line by line. Why isn't there any function like raw_input in Python 3? input does not allow the user to put lines separated by
stackoverflow.com
Yukarıda verilen kodu değiştirdim:
Python:
print("Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it.")
contents = []
while True:
try:
line = input()
except EOFError:
break
if line != "":
contents.append(line)
print(f"list = {contents}")
Metni yapıştır, ardından önce Enter sonra Ctrl-D/Ctrl-Z yap.
sys.stdin.read() ile yeni boşlukları da okuyabilirsiniz. Windows kullanıyorsanız metni girdikten sonra Enter'a basıp sonrasında Ctrl+Z ve Enter'a basarsanız metni okuyabilirsiniz.
Python:
import sys
words = sys.stdin.read().split()
print(words)
Eğer metin koda verilmiş şekilde olursa dediğiniz gibi çalışıyor bende de sorun yok. Fakat input kullanmak istediğimde hata veriyor. Ve input şeklinde almam gerekli.
Eğer metin koda verilmiş şekilde olursa dediğiniz gibi çalışıyor bende de sorun yok. Fakat input kullanmak istediğimde hata veriyor. Ve input şeklinde almam gerekli.
I want to write a program that gets multiple line input and work with it line by line. Why isn't there any function like raw_input in Python 3? input does not allow the user to put lines separated by
stackoverflow.com
Yukarıda verilen kodu değiştirdim:
Python:
print("Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it.")
contents = []
while True:
try:
line = input()
except EOFError:
break
if line != "":
contents.append(line)
print(f"list = {contents}")
Metni yapıştır, ardından önce Enter sonra Ctrl-D/Ctrl-Z yap.
Eki Görüntüle 2241720
Hocam siz kodu denediniz mi yoksa denemeden mi yazıyorsunuz? Ya da girdi olarak direkt benim kullandığım girdiyi kopyalayıp yapıştırıyor musunuz?
Çıktı almadan kodu buraya atacak değilim. Konunun neden karşılıklı farklı olduğu hakkında konuyu incelemedim. Fakat konu başlığına baktığımda bir boşluk ile ayıracak şekilde düşünerek düzeltme yapmıştım. Tab tuşunun 4 veya 8 boşluk yarattığını dikkate almadım. Açıkçası başka proje üstünde çalışırken sizi görünce hızlıca yazdım. Split içerisine "\t" şeklinde belirtirseniz konu çözüme kavuşacaktır. Kolaylıklar dilerim.
metin = input("Değer girin: ")
satir = [satir for satir in metin.split("\t") if satir.strip()]
print(satir)