2013-11-03 25 views
0

我們得到了這個任務:刺客遊戲Python的錯誤

「刺客的遊戲是一個簡單的遊戲在大學校園裏玩,每個玩家通過簡單地說,分配目標暗殺‘你死定了’它們。當然,在校園裏有成千上萬的人,在遊戲中只有幾十個人,你永遠不知道誰在暗殺你,一旦你暗殺了一個人,你就會選擇他們尋找的目標,如果這是你,那麼你是贏家爲了確保這項工作正常進行,目標必須形成一個連續的「連鎖」。編寫一個程序,允許用戶輸入目標分配並輸出是否有效。 「列表中的每個人都用列表中的位置表示這個位置是他們的目標。例如。 4 3 0 5 6 2 1有效」

這裏是我的代碼:

people=[] 
steps=[] 
valid=True 

while True: 
    person=int(input("Enter the target(-1 to exit):")) 
    if person==-1: break 
    people.append(person) 

for i in range(len(people)): 
    if len(people[0])!=0: 
     valid=False 
     break 
    elif len(people[0])==0: break 
    steps.append(people[0]) 

for i in range(len(jumps)): 
    if jumps[i-1]==jumps[i]: 
     valid=False 
if valid==False:     #program MUST check if the flag is false before checking for length 
    print('invalid')    #of the jumps list compared to the victims list. 
elif len(jumps)==len(victims): 
    print('valid') 
elif len(jumps)!=len(victims): 
    print('invalid') 

目前,我得到這個錯誤:

File "C:/Users/Wisdom1/Desktop/ListAssign6.py", line 14, in 
<module> 
if len(people[0])!=0: 
TypeError: object of type 'int' has no len() 

我不知道這是爲什麼,但如果有人可以向我解釋這個錯誤陳述的發生,那將是不勝感激。此外,如果在這段代碼中有任何其他錯誤,請讓我知道。我想要的輸出實現將是任何seq如果輸入4305621以外的內容,程序將輸出該信息無效。謝謝。

+1

不要要求別人做你的功課。整個觀點是你想出來的 –

+0

我不是要求別人爲我創建一個代碼。那會要求有人做我的功課。我盡我所能完成了一些工作,並要求某人爲我修改一下。你有他們兩個困惑。 – user2950875

+1

好的...但請嘗試使用谷歌搜索尋求幫助。已經有很多這樣的問題了 –

回答

3

people是一個列表。 people[0]但是是一個整數。而且,正如你的錯誤所說,你不能使用帶整數的len,因爲它們是不可迭代的。

如果你想看看的people長度不0,刪除[0]

if len(people)!=0: 

或者,如果你想看看people[0]不等於0,刪除len

if people[0]!=0: