使用以下代码
askNumber1 = int(str(raw_input('What range of numbers do you want? Name the minimum number here.')))
askNumber2 = int(str(raw_input('Name the max number you want here.')))
number3 = askNumber2 + 1
number_list = range(askNumber1, number3)
number4 = str(int(random.randint(askNumber1, askNumber2)))
number_list.remove(number4)
print number_list
print 'Is this your number: ' + number4 + '?'
给我错误:
ValueError:list.remove(x):x不在列表中
这是否可以使用在两个其他变量之间定义为随机数的变量从number_list
中删除整数?或者有更简单的方法吗?
答案 0 :(得分:5)
number4
是一个字符串,而您的列表由整数组成,因此即使您的列表为[0,1,2,3]
,执行number_list.remove("2")
也会导致错误2!="2"
答案 1 :(得分:1)
您的号码4是string
。您需要将整数值传递给number_list.remove(number4)
。这里的索引必须是integer
。
number4 = str(int(random.randint(1, 4)))
type(number4)
输出= <type 'str'>
String = '1'
Integer = 1
String == Integer
输出= False
答案 2 :(得分:0)
是更简单的方法:
number4 = number_list.pop(random.randint(askNumber1, askNumber2))
list.pop
删除,返回给定列表中的项目。