私たちはこの任務を与えられました:
「ゲーム オブ アサシンは、大学のキャンパスで行われるシンプルなゲームで、各プレイヤーは暗殺するターゲットを割り当てられ、単に「あなたは死んでいる」と言うだけです。もちろん、キャンパスには何千人もの人々がいて、ゲームには数十人しかいません誰があなたを暗殺しようとしているのかは決してわかりません. 誰かを暗殺したら、彼らが探していたターゲットを攻撃します. これがあなただった場合、あなたが勝者です. これが適切に機能することを確認するには、ターゲットは連続した「チェーン」を形成する必要があります. 」連続した「連鎖」があるかどうかに基づいて、ユーザーがターゲット割り当てを入力し、それが有効かどうかを出力できるようにするプログラムを作成します。リスト内の各人物は、リスト内の位置によって表されます。位置の値がターゲットです。例: 0 1 2 3 4 5 6
4 3 0 5 6 2 1 Valid"
これが私のコードです:
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()
これがなぜなのかはわかりませんが、誰かがこのエラーステートメントの発生について説明していただければ幸いです。また、このコードに他のエラーがある場合はお知らせください。私が達成したい出力は、4305621 以外のシーケンスを入力すると、プログラムはそれが無効であると出力することです。ありがとう。