我从最开始就编译了一个由整数0、1和2组成的列表。 如果用户选择的号码与PC的选择不同,我希望将PC和用户的号码从原始列表中删除。 不幸的是,我无法执行此操作,因为Python向我返回了错误的列表。即使计算机选择“ 1”,也不会从列表中将其删除。
如何返回仅包含用户或计算机未选择的号码的修改列表?
import random
while True:
list_of_numbers = [0,1,2]
chosen_number_user = input("Please choose a number between 0-2")
int(chosen_number_user)
chosen_number_PC = random.choice(list_of_numbers)
if int(chosen_number_user) == int(chosen_number_PC):
print ("You have chosen the correct number!")
break
elif chosen_number_user != chosen_number_PC:
for chosen_number_PC in list_of_numbers:
list_of_numbers.remove(chosen_number_PC)
print(list_of_numbers)
for chosen_number_user in list_of_numbers:
list_of_numbers.remove(chosen_number_user)
print(list_of_numbers)
break
else:
print ("Something has gone wrong")
假设我选择了数字2,而计算机选择了数字1。然后,我希望list_of_numbers仅包含0。但是,列表完全为空。
答案 0 :(得分:0)
您忘了将selected_number_PC转换为int:
print(13 % -4)
print(-10 % 9)
您还可以使用:
list_of_numbers.remove(int(chosen_number_PC))