我尝试运行一段代码,并在此行代码中收到上述错误:
print("Congratulations! You swapped out a", box3, "for", + str( randomPersuade2 ) + " Dollars. Enjoy!")
box3保存项目列表中的值
box1,box2,box3,box4, box5 = ["Car", "TV", "DVD", "Overseas Holiday", "Box of chocolates"]
randomPersuade2是一个变量,用于保存random.randint()函数的值。
randomPersuade2 = random.randint(200,5000)
如标题中所述,我得到了错误
TypeError:一元+的错误操作数类型:'str'
我该如何解决?任何帮助将不胜感激!
答案 0 :(得分:1)
这部分有问题:您有一个逗号和一个加号。您需要摆脱其中之一。
box3, "for", + str(randomPersuade2)
在这里,Python认为您想使用“一元” +
运算符。
此运算符与num_a + num_b
不同。您可以这样使用它:+num
。
它只是..不会改变数字的值。是的,真的没有用。但是在这里,您有一个str
对象,它不是数字。调用运算符的对象是“操作数”。
因此,您可以执行以下操作:“一元+的错误操作数类型:'str'”。
答案 1 :(得分:0)
您有2个要在打印消息中使用的变量。一种干净的方法是:
private ObservableCollection<Student> _students;
public ObservableCollection<Student> Students
{
get => _students;
set
{
if (_students == value) return;
_students = value;
RaisePropertyChanged("Students");
}
}
答案 2 :(得分:0)
,操作员会在字符串后自动添加空格,因此请在操作员后删除+号:
print('Congratulations! You swapped out a, {}, for, {} Dollars.
Enjoy!'.format(var1,var2))