과학에 대한 프로그램을 만들었습니다. n 요소의 기호를 묻습니다. 요소를 입력해야하지만 문제는 답을 잘못했는지 여부를 알 수 없다는 것입니다 여기 Tkinter : 문자열 변수가 작동하지 않습니다
내 코드입니다! 올바른 사전에# Import Modules
from tkinter import *
import random, time
# Window Setup
root = Tk()
root.title('Element Finder')
root.state('zoomed')
# Elements
"""
a = H, Hydrogen
b = He, Helium
c = O, Oxygen
d = C, Carbon
e = N, Nitrogen
f = Ne, Neon
g = U, Uranium
h = Na, Sodium
i = Ar, Argon
j = K, Potassium
k = Mg, Magnesium
l = Cl, Chlorine
m = B, Boron
n = Au, Gold
o = Pd, Palladium
p = Kr, Krypton
q = Ca, Calcium
r = Pm, Promethium
s = Ag, Silver
t = Rb, Rubidium
u = Y, Yurium
v = Ir, Iridium
w = Pt, Platnium
x = Ti, Titanium
y = Hg, Mercury
z = Er, Erbium
"""
# Variables
element = StringVar()
guess = StringVar()
answer = StringVar()
def question():
guess.set('')
element.set('')
r = random.randint(1, 26)
if r == 1:
element.set('H')
elif r == 2:
element.set('He')
elif r == 3:
element.set('O')
elif r == 4:
element.set('C')
elif r == 5:
element.set('Ne')
elif r == 6:
element.set('U')
elif r == 7:
element.set('Na')
elif r == 8:
element.set('Ar')
elif r == 9:
element.set('K')
elif r == 10:
element.set('Mg')
elif r == 11:
element.set('Cl')
elif r == 12:
element.set('B')
elif r == 13:
element.set('Au')
elif r == 14:
element.set('Pd')
elif r == 15:
element.set('Kr')
elif r == 16:
element.set('Ca')
elif r == 17:
element.set('Pm')
elif r == 18:
element.set('Ag')
elif r == 19:
element.set('Rb')
elif r == 20:
element.set('Y')
elif r == 21:
element.set('Ir')
elif r == 22:
element.set('Pt')
elif r == 23:
element.set('Ti')
elif r == 24:
element.set('N')
elif r == 25:
element.set('Hg')
elif r == 26:
element.set('Er')
def check():
e = element.get()
g = guess.get()
if e == 'H' and g == 'Hydrogen' or 'hydrogen' or 'HYDROGEN':
answer.set('Correct!')
if e == 'He' and g == 'Helium' or 'helium' or 'HELIUM':
answer.set('Correct')
if e == 'O' and g == 'Oxygen' or 'oxygen' or 'OXYGEN':
answer.set('Correct!')
if e == 'C' and g == 'Carbon' or 'carbon' or 'CARBON':
answer.set('Correct!')
if e == 'Ne' and 'Neon' or 'neon' or 'NEON':
answer.set('Correct!')
if e == 'U' and g == 'Uranium' or 'uranium' or 'URANIUM':
answer.set('Correct!')
if e == 'Na' and g == 'Sodium' or 'sodium' or 'SODIUM':
answer.set('Correct!')
if e == 'Ar' and g == 'Argon, argon' 'ARGON':
answer.set('Correct!')
if e == 'K' and g == 'Potassium' or 'potassium' or 'POTASSIUM':
answer.set('Correct!')
if e == 'Mg' and g == 'Magnesium' or 'magnesium' or 'MAGNESIUM':
answer.set('Correct!')
if e == 'Cl' and g == 'Chlorine' or 'chlorine' or 'CHLORINE':
answer.set('Correct!')
if e == 'B' and g == 'Boron' or 'boron' or 'BORON':
answer.set('Correct!')
if e == 'Au' and g == 'Gold' or 'gold' or 'GOLD':
answer.set('Correct!')
if e == 'Pd' and g == 'Palladium' or 'palladium' or 'PALLADIUM':
answer.set('Correct!')
if e == 'Kr' and g == 'Krypton' or 'krypton' or 'KRYPTON':
answer.set('Correct!')
if e == 'Ca' and g == 'Calcium' or 'calcium' or 'CALCIUM':
answer.set('Correct!')
if e == 'Pm' and g == 'Promethium' or 'promethium' or 'PROMETHIUM':
answer.set('Correct!')
if e == 'Ag' and g == 'Silver' or 'silver' or 'SILVER':
answer.set('Correct!')
if e == 'Rb' and g == 'Rubidium' or 'rubidium' or 'RUBIDIUM':
answer.set('Correct!')
if e == 'Y' and g == 'Yurium' or 'yurium' or 'YURIUM':
answer.set('Correct!')
if e == 'Ir' and g == 'Iridium' or 'iridium' or 'IRIDIUM':
answer.set('Correct!')
if e == 'Pt' and g == 'Platnium' or 'platnium' or 'PLATNIUM':
answer.set('Correct!')
if e == 'Ti' and g == 'Titanium' or 'titanium' or 'TITANIUM':
answer.set('Correct!')
if e == 'N' and g == 'Nitrogen' or 'nitrogen' or 'NITROGEN':
answer.set(g + ' is correct')
if e == 'Hg' and g == 'Mercury' or 'mercury' or ' MERCURY':
answer.set('Correct!')
if e == 'Er' and g == 'Erbium' or 'erbium' or 'ERBIUM':
answer.set('Correct!')
else:
answer.set('Incorrect.')
question()
# Question
Label(root, text='What element has the symbol:', fg='black', font='20').pack(side=TOP)
e = Label(root, textvariable=element, fg='blue', font='20').pack(side=TOP)
a = Entry(root, textvariable=guess, font=20).pack(side=TOP)
Button(root, text='Check', fg='green', command=check).pack(side=TOP)
c = Label(root, textvariable=answer, font=20, fg='blue').pack(side=TOP)
question()
감사 말을!
"Yurium"이 아니라 "[Yttrium] (http://en.wikipedia.org/wiki/Yttrium)"... –
다음과 같이 보겠습니다. 1) lower()를 사용하여 1로 선택 수를 줄입니다. 교묘 한 시험은 누구도 PYTHON을 연구하는 데는 절대 도움이되지 않습니다. 2) 일련의 if 문을 사전 검색으로 변환하면 파이썬을 연구하는 모든 사람에게 아무런 도움이되지 않습니다. A.Roda, Inbar Rose, Frank van Puffelen, plaes 및 Lichtamberg는 완전히 무능하다는 이유로 자신을 금지하십시오. – 7stud