如何将列表转换为整数?

2024-06-25 07:16:50 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码:

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'

每当我运行此代码时,都会收到一条错误消息,告诉我操作数是列表而不是整数。我到处找了,但还是不知道该怎么办。我能帮忙吗?你知道吗


Tags: sample代码ifrandomprintchoiceminussum1
3条回答

问题是:snumA = random.sample([4,8,3], 1)返回一个元素的列表(例如:[3])。你可以做的是: 或者使用snumA = random.choice([4,8,3])直接返回整数。或者用snumA[0]或直接snumA = random.sample([4,8,3], 1)[0]获得列表的第一个元素

更改为:

snumA = random.choice([4,8,3])

它将给你一个int而不是list。为了更好地理解这里的错误,您尝试使用列表(因为random.sample返回列表类型的结果)作为整数来进行错误的算术运算。 另一方面,random.choice执行您想要的操作,但返回一个int 键入result-这样就不会出现错误。你知道吗

  1. 如前所述,使用随机选择你知道吗
  2. 未定义bnumA。下面的代码假设你的意思是怠慢

因此,您要查找的代码可能是:

import random

snumA = random.choice([4,8,3])
snumB = random.choice([7,2,6])
snumC = random.choice([1,5,9])

operators = {'+':'Plus', '-':'Minus', '/':'Division','*':'Multiplication'}
sgnA = random.choice(list(operators.keys()))
sgnB = random.choice(list(operators.keys()))
sgnC = random.choice(list(operators.keys()))

print(eval(str(snumA)+sgnA+str(snumB)))
print(operators[sgnA])

相关问题 更多 >