저는 6면 주사위 또는 8면 주사위를 굴리는 주사위 시뮬레이터를 코딩하고 있습니다. 저는 Python 2.7과 Tkinter를 사용하고 있습니다. 다음은 주사위가있는 사전이있는 파일입니다.
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 위젯에 대한 첫 번째 인수 로 가져온 것으로 가정 하고 Tk()
클래스 를 전달해야합니다 .from Tkinter import *
root = Tk()
Label(root, text="You rolled a " + diceroll + " on the " + DICE[selecteddice]["name"])
그러나 이제 끝날 TypeError: cannot concatenate 'str' and 'int' objects
것이므로 str()
메서드를 사용하여 diceroll
문자열 로 변환 하십시오.
Label(root, text="You rolled a " + str(diceroll) + " on the " + DICE[selecteddice]["name"])
TypeError: cannot concatenate 'str' and 'instance' objects
__repr__
, __str__
메서드 를 사용하지 않고 클래스에서 데이터를 문자열 또는 정수로 검색 할 수없고 개체 로 검색 할 수 없기 때문에 오류가 발생 합니다.
전체 코드를 표시하지 않았으므로 제가 도울 수있는 한
#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()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다