Python Tkinter标签,TypeError:无法连接';str';和';实例';物体
我正在编写一个骰子模拟器,可以掷6面骰子或8面骰子。我正在使用Python2.7和Tkinter。这是我的文件,里面有一本字典,里面有骰子:Python Tkinter标签,TypeError:无法连接';str';和';实例';物体,python,tkinter,concatenation,typeerror,Python,Tkinter,Concatenation,Typeerror,我正在编写一个骰子模拟器,可以掷6面骰子或8面骰子。我正在使用Python2.7和Tkinter。这是我的文件,里面有一本字典,里面有骰子: DICE = dict( sixsided={'name': 'Six Sided Dice', 'side': 6}, eightsided = {'name': 'Eight Sided Dice', 'side': 8} ) names = ['Six Sided
DICE = dict(
sixsided={'name': 'Six Sided Dice',
'side': 6},
eightsided = {'name': 'Eight Sided Dice',
'side': 8}
)
names = ['Six Sided Dice', 'Eight Sided Dice']
这是我的主文件中导致我的问题的代码:
diceroll = random.randrange(1,DICE[selecteddice]["side"])
Label(diceroll, text="You rolled a " + diceroll + " on the " + DICE[selecteddice]["name"])
我的问题是运行文件时出现的错误消息:
TypeError:无法连接'str'和'instance'对象
非常感谢您的帮助!!:) 希望你期待着这样的事情: 您必须将
Tk()
类作为从Tkinter import*
导入,作为第一个参数传递给Tk小部件:
root = Tk()
Label(root, text="You rolled a " + diceroll + " on the " + DICE[selecteddice]["name"])
但是现在您将得到TypeError:无法连接'str'和'int'对象
,因此请使用str()
方法将dicerll
转换为字符串
Label(root, text="You rolled a " + str(diceroll) + " on the " + DICE[selecteddice]["name"])
TypeError:无法连接'str'和'instance'对象
发生错误的原因是,如果不使用\uuu repr\uuu
,\uu str\uu
方法,而不是对象,则无法从类中以字符串或int形式检索数据
因为您还没有显示完整的代码,所以我只能提供帮助
#The top image was produced thanks to this
import random
from Tkinter import *
selecteddice = 'sixsided'
DICE = dict(
sixsided={'name': 'Six Sided Dice',
'side': 6},
eightsided = {'name': 'Eight Sided Dice',
'side': 8}
)
names = ['Six Sided Dice', 'Eight Sided Dice']
root = Tk()
diceroll = random.randrange(1,DICE[selecteddice]["side"])
Label(root, text="You rolled a " + str(diceroll) + " on the " + DICE[selecteddice]["name"]).pack()
root.mainloop()
希望你期待着这样的事情: 您必须将
Tk()
类作为从Tkinter import*
导入,作为第一个参数传递给Tk小部件:
root = Tk()
Label(root, text="You rolled a " + diceroll + " on the " + DICE[selecteddice]["name"])
但是现在您将得到TypeError:无法连接'str'和'int'对象
,因此请使用str()
方法将dicerll
转换为字符串
Label(root, text="You rolled a " + str(diceroll) + " on the " + DICE[selecteddice]["name"])
TypeError:无法连接'str'和'instance'对象
发生错误的原因是,如果不使用\uuu repr\uuu
,\uu str\uu
方法,而不是对象,则无法从类中以字符串或int形式检索数据
因为您还没有显示完整的代码,所以我只能提供帮助
#The top image was produced thanks to this
import random
from Tkinter import *
selecteddice = 'sixsided'
DICE = dict(
sixsided={'name': 'Six Sided Dice',
'side': 6},
eightsided = {'name': 'Eight Sided Dice',
'side': 8}
)
names = ['Six Sided Dice', 'Eight Sided Dice']
root = Tk()
diceroll = random.randrange(1,DICE[selecteddice]["side"])
Label(root, text="You rolled a " + str(diceroll) + " on the " + DICE[selecteddice]["name"]).pack()
root.mainloop()