这是我的代码:
snumA = random.sample([4,8,3], 1)
snumB = random.sample([7,2,6], 1)
snumC = random.sample([1,5,9], 1)
sgnA = random.choice(['+','-','/','*'])
sgnB = random.choice(['+','-','/','*'])
sgnC = random.choice(['+','-','/','*'])
if sgnA == '-' :
sum1 = snumA - bnumA
print 'minus'
if sgnA == '/' :
sum1 = snumA / bnumA
print 'divide'
每当我运行此代码时,都会收到一条错误消息,告诉我操作数是列表而不是整数。我到处找了,但还是不知道该怎么办。我能帮忙吗?你知道吗
问题是:
snumA = random.sample([4,8,3], 1)
返回一个元素的列表(例如:[3])。你可以做的是: 或者使用snumA = random.choice([4,8,3])
直接返回整数。或者用snumA[0]
或直接snumA = random.sample([4,8,3], 1)[0]
获得列表的第一个元素更改为:
它将给你一个
int
而不是list
。为了更好地理解这里的错误,您尝试使用列表(因为random.sample
返回列表类型的结果)作为整数来进行错误的算术运算。 另一方面,random.choice
执行您想要的操作,但返回一个int
键入result-这样就不会出现错误。你知道吗因此,您要查找的代码可能是:
相关问题 更多 >
编程相关推荐