如何在python中删除变量中的整数值
我目前正在创建一个关于python的测验程序。通过random.choice选择每个问题后,我希望程序从列表中删除此问题,这样就不能再问两次。但程序不会删除问题编号,因此仍可再次选择。这是我的密码:如何在python中删除变量中的整数值,python,Python,我目前正在创建一个关于python的测验程序。通过random.choice选择每个问题后,我希望程序从列表中删除此问题,这样就不能再问两次。但程序不会删除问题编号,因此仍可再次选择。这是我的密码: questionNumbers = [1,2] questionChosen = random.choice(questionNumbers) if questionChosen == 1: del questionNumbers[questionNumbers.in
questionNumbers = [1,2]
questionChosen = random.choice(questionNumbers)
if questionChosen == 1:
del questionNumbers[questionNumbers.index(questionChosen)]
q1 = "Who is John Von Neumann?"
print(q1)
任何帮助都将不胜感激。最好的方法是使用
随机。在原始列表上随机移动
以更改项目位置。然后pop
打开它们,直到列表中没有更多的项目
例如:
import random
questionNumbers = [1,2,3,4]
random.shuffle(questionNumbers)
while questionNumbers:
print(questionNumbers.pop())
每次都以随机顺序打印1,2,3,4
列表中以元组形式包含问题和答案的更详细示例:
import random
questionNumbers = [("who killed Kennedy","Lee Harvey Oswald"),("Who starred in XXX","Vin Diesel")] # sorry for the bad Q&A
random.shuffle(questionNumbers)
while questionNumbers:
q,a = questionNumbers.pop()
print("right" if input("{} ?".format(q))==a else "wrong")
最好的方法是使用原始列表上的
random.shuffle
来更改项目位置。然后pop
打开它们,直到列表中没有更多的项目
例如:
import random
questionNumbers = [1,2,3,4]
random.shuffle(questionNumbers)
while questionNumbers:
print(questionNumbers.pop())
每次都以随机顺序打印1,2,3,4
列表中以元组形式包含问题和答案的更详细示例:
import random
questionNumbers = [("who killed Kennedy","Lee Harvey Oswald"),("Who starred in XXX","Vin Diesel")] # sorry for the bad Q&A
random.shuffle(questionNumbers)
while questionNumbers:
q,a = questionNumbers.pop()
print("right" if input("{} ?".format(q))==a else "wrong")
您可以使用
list.remove(项目)
从列表中删除项目
import random
questionNumbers = [1,2]
questionChosen = random.choice(questionNumbers)
if questionChosen == 1:
questionNumbers.remove(questionChosen)
q1 = "Who is John Von Neumann?"
print(q1)
您可以使用
list.remove(项目)
从列表中删除项目
import random
questionNumbers = [1,2]
questionChosen = random.choice(questionNumbers)
if questionChosen == 1:
questionNumbers.remove(questionChosen)
q1 = "Who is John Von Neumann?"
print(q1)
我建议不要显式地从列表中删除,实际上很少使用del。最好先弄清楚要循环哪些内容,然后再循环列表。您可以使用
random
模块中的shuffle
对问题编号进行随机排序,然后只需在无序列表中循环:
from random import shuffle
x = [1,2,3,4]
shuffle(x)
for q_num in x:
print(q_num)
我建议不要显式地从列表中删除,实际上很少使用del。最好先弄清楚要循环哪些内容,然后再循环列表。您可以使用
random
模块中的shuffle
对问题编号进行随机排序,然后只需在无序列表中循环:
from random import shuffle
x = [1,2,3,4]
shuffle(x)
for q_num in x:
print(q_num)