Python terminali döngüler için çalışmıyor [kapalı]


9

Bu kodu Python terminalinde koştum:

>>> for news in news_list:
...     print news("li", {"class", "first"})[0].a["href"]
...     
...     

Terminaldeki döngü için bunu kapatmak istiyorum, ama nasıl yapacağımı bilmiyorum. Enterİki kez basmayı denedim ama işe yaramıyor.


1
Kapanış ayracı eksik. Basılı açıklamada ne yapmaya çalıştığınızı açıklayabilir misiniz?
Hashken

1
Üzgünüm ayraç orada olmalıydı. İçinde html veri olan bir dizi üzerinden döngü. Çalışıyor, sadece terminaldeki döngüyü nasıl kapatacağımı bilmiyorum.
jason328

1
Bazı iç içe Veri Yapıları kullandığınız anlaşılıyor. Kodun tamamına bakmadan sorunun ne olduğunu söyleyemem. Lütfen kodun tamamını ekleyin.
Hashken

4
iki kere girmek benim için çalışıyor. 2. girişin engellenmediğinden emin olun
Karthik T

1
Bunun bir konsol olduğunu görüyorum. Ondan önce print newsve print news_listsonra yapabilir misiniz ? Oradaki veri yapıları hakkında bir fikir edineceğiz.
SiddharthaRT

Yanıtlar:


14

Hangi veriler üzerinde çalıştığı önemli değil. Her iki şekilde print "spam"ya da karmaşık bir ifade kullandığınızda, for döngüsü iki girişten sonra kapatılmalıdır, aksi takdirde hatalı verilerle veya sözdizimi hatasıyla bir Python istisnası yükseltilir.

Sorun şu ki, boş satırları girintili hale getiriyorsunuz, bu yüzden yorumlayıcı hala bazı kodlar vereceğinizi düşünüyor.

Aşağıdaki kod snippet'indeki farka bakın (nedenini görmek için metni seçin):

>>> for x in range(4):
...     print x
... 
0
1
2
3
>>> for x in range(4):
...     print x
...     
...     
...     
... 
0
1
2
3
>>> 

Bir kenara: Check out bpython. Anahtar kelime önerileri, otomatik girinti, oturumlar arasında tarihin hafızası, kodu bir dosyaya kaydetme seçeneği, vb. İçeren bir komut satırı python yorumlayıcısıdır. İlk iki özellik onu katil bir uygulama haline getirir. Birçok kez varsayılan yorumlayıcıdaki sekmeye sadece ekranda bir sekme bulmak için bastım!
S Prasanth

@SPrasanth, yani ipython?
warvariuc

@warwaruk Hayır, bpython apps.ubuntu.com/cat/applications/bpython Yine de ipython'a bakacak.
S Prasanth
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.