私はループの使い方を学んでいて、練習のためにこのプログラムを実行していました。ただし、私が問題を抱えているのは、入力ごとに1回だけリストを正しく印刷することだけです。これが私のコードです:
country_list=[]
emission_list=[]
capita_list=[]
total=0
end_loop=False
together=[]
while True:
country=raw_input("Enter country or (done to end): ")
if country=="done":
break
else:
emission=input("Enter emissions: ")
capita=input("Enter capita: ")
country_list.append(country)
emission_list.append(emission)
capita_list.append(capita)
total+=1
for x in range(len(country_list)):
for y in range(len(emission_list)):
for z in range(len(capita_list)):
end_loop=True
print country_list[x]+": Emission="+str(emission_list[y]),"and Capita="+str(capita_list[z])
私はこれを入力しています:
Enter country or (done to end): Testcase
Enter emissions: 1
Enter capita: 2
Enter country or (done to end): Testcase2
Enter emissions: 3
Enter capita: 4
Enter country or (done to end): done
これは私が得ている出力です:
Testcase: Emission=1 and Capita=2
Testcase: Emission=1 and Capita=4
Testcase: Emission=3 and Capita=2
Testcase: Emission=3 and Capita=4
Testcase2: Emission=1 and Capita=2
Testcase2: Emission=1 and Capita=4
Testcase2: Emission=3 and Capita=2
Testcase2: Emission=3 and Capita=4
排出量と人口の可能なすべての組み合わせを出力していますが、各国の排出量/人口として入力したものだけを出力したいのです。誰でもこれを修正する方法を知っていますか?