2011-11-14 15 views
14

Windows 7 üzerinde python 3.2.2 kullanıyorum ve 7 sayıyı kabul eden bir program oluşturmaya çalışıyorum ve daha sonra ne kadar pozitif, kaç tane negatif olduğunu kullanıcıya bildirir kaç tanesi sıfırdır. Bu şu ana kadar ne var ise:TypeError: 'float' nesnesi tekrarlanabilir değil

count=7 
for i in count: 
    num = float(input("Type a number, any number:")) 
    if num == 0: 
     zero+=1 
    elif num > 0: 
     positive+=1 
    elif num < 0: 
     negative+=1 

print (positive) 
print (negative) 
print (zero) 

Ama kodu çalıştırdığınızda ben int doğrultusunda 3'te şamandıra değiştirirseniz bunu söylüyor dışında ben aynı sorunu olsun

TypeError: 'float' object is not iterable 

olsun 'int' nesnesi tekrarlanamaz. Ben de bir piton öğretici kitabından bu zorluğu aldı ve onlar cevabım yok ve 7.0 Şimdi

7 ila sayımı değerini değiştirerek denedim dan ben sözdizimi içinde her şeyi yaptık söyleyebilirim onlar ileri sürmek.

The tutorial is here (PDF)

+1

'ekli ettik öğretici değil iterable değildir. – cwallenpoole

+1

Lütfen 'print (...)' yerine print (...) 'yapın. Python'da 3 'print' bir işlevdir, bu yüzden onu nasıl biçimlendirdiğinizde diğer işlevler gibi davranın. (PEP 8 ayrıca, a = b 've 'a + = b' yerine' a = b' ve 'a + = b' değiştirmenizi ister.) –

+2

Ayrıca, çalıştığınız üç değişkeni de başlatmanız gerekir. yazdırma: yani döngüden önce sıfır = pozitif = negatif = 0'dır. – ekhumoro

cevap

20

for i in count: çalışmayacaktır for i in 7: demektir. in'dan sonraki bit bir sayı değil yinelenebilir bir türden olmalıdır. Bu deneyin:

for i in range(count): 
+0

bunu kaçırdığına inanamıyorum, teşekkür ederim – hamsolo474

3

kullanım

range(count)

int ve şamandıra count` for i in

İlgili konular