Wpis z mikrobloga

Cześć koledzy i koleżanki, może ktoś będzie w stanie mi pomóc:

Otóż bawię się od niedawna w programowanie w Python'ie i mam zagwozdkę. W skrócie piszę grę papier kamień nożyce:

def play():
global winner
if rockint==1:
computeroption.set(computerrandom)
print(computeroption.get())
'''print(computerchoose)'''
if computeroption == 1:
winner.set("Tie")
elif computeroption == 2:
winner.set("Player wins")
elif computeroption == 3:
winner.set("Computer wins")

if paperint==2:
computeroption.set(computerrandom)
if scissorint==3:
computeroption.set(computerrandom)
'''print(computeroption.get())'''
if computeroption == 1:
winner.set("Tie")
print(winner.get())
print("aaaa")
elif computeroption == 2:
winner.set("Player wins")
print(winner.get())
elif computeroption == 3:
winner.set("Computer wins")
print(winner.get())

computerlabel = Label(window, text='Winner is: ', bg='white', font=('Times New Roman', 12))
computerlabel.grid(column=2, row=11, columnspan=3)
optionlabel = Label(window, textvariable=winner, bg='white', font=('Times New Roman', 12), fg="red")
optionlabel.grid(column=5, row=11)

Powyżej funkcja, która po wybraniu opcji Rock ma przypisać do zmiennej computeroption wartość z wcześniejszej zmiennej computerrandom o zakresie 1-3. Ten etap działa dobrze, za każdym razem, gdy wybiorę np. Rock komputer losuje losową liczbę.

Następnym etapem obliczeń ma być porównanie wyniku zmiennej computeroption (1,3) i w zależności od jej wyniku do zmiennej winner przekazać stringa "Tie" / "Player wins" / "Computer wins". I na tym etapie poległem, ponieważ ten drugi if z jakiegoś powodu nie przekazuje wartości do zmiennej winner, która ma być wyświetlona w polu optionlabel.

Cały kod tutaj: https://gist.github.com/ArturFra94/df57cba346e60f3ea9fee4c1e6b2b020

Będę wdzięczny za pomoc.

#python #programowanie
  • 1