无法隐式将对象'list'转换为str?

时间:2013-09-11 21:36:40

标签: python python-3.x typeerror

我一直在为我制作一个学习数学问题的课程。 Noe一切都完美无缺。问题是显示问题。我做到了这样,根据您选择的级别,它使用某些数字。我将提供与问题相关的代码:

Lvlonenumbers =list(range(1, 51))
if Level == 'Lvl.1':
    NumberList = Lvlonenumbers
NumberOne =random.choice(NumberList)
NumberTwo =random.choice(NumberList)
Answer =NumberOne + NumberTwo
print(str(NumberOne) + '+' + str(NumberTwo) + '=' + variable)

当程序执行print函数时,它表示不能隐式地将对象'list'转换为str。我不明白为什么会这样。我之前没有见过这种类型的错误。

1 个答案:

答案 0 :(得分:0)

  

变量是一个字符串列表。所有字母表中的字母   分离。

您无法向字符串添加列表,因为Python不知道如何将列表转换为字符串。这是你的基本问题。您可以使用联接预先转换它,如下所示:''.join(variable)

lvl_one_numbers = list(range(1, 51))

if level == 'Lvl.1':
    number_list = lvl_one_numbers

number_one = random.choice(lvl_one_numbers)
number_two = random.choice(lvl_one_numbers)

print('{0}+{1}={2}'.format(number_one, number_two, ''.join(variable))

我还根据python style guide更改了您的变量名称。