Python 3.x 在玩家回合后自动从值中减去

Python 3.x 在玩家回合后自动从值中减去,python-3.x,tkinter,Python 3.x,Tkinter,我试图让函数CvPRandomSpeler自动从aantal_munten的值中减去2,当它是计算机的时候,值是2或5。或当值为1到7(2,5除外)并且是计算机回合时,按1 减法后,应自动返回到Speler 我只复制了相关的代码,所以缺少了很大一部分 谢谢 import tkinter import random from time import sleep def CvPRandomSpeler(): ''' Deze functie laat binnen het spel

我试图让函数
CvPRandomSpeler
自动从
aantal_munten
的值中减去2,当它是
计算机
的时候,值是2或5。或当值为1到7(2,5除外)并且是
计算机
回合时,按1

减法后,应自动返回到
Speler

我只复制了相关的代码,所以缺少了很大一部分

谢谢

import tkinter
import random
from time import sleep

def CvPRandomSpeler():
    '''
    Deze functie laat binnen het speler tegen computer optie de computer en speler wisselen nadat er een munt gepakt is.
    Daarnaast wordt er een update aangevraagd voor het label beurt_speler per wisseling van speler/computer.
    '''
    global speler_computer
    global aantal_munten
    if speler_computer == 'Speler':
        speler_computer = 'Computer'
        aantal_munten in [2,5]
        CvPMunt2()
    elif speler_computer == 'Speler':
        speler_computer = 'Computer'
        aantal_munten in [1,3,4,6,7]
        CvPMunt1()
    else:
        speler_computer = 'Speler'
    welke_beurt.config(text= speler_computer + ' is aan de beurt!')
    sleep(.5)
    return speler_computer

def CvPMunt1():
    '''
    Deze funtie wordt aangeroepen binnen de speler tegen computer optie als een speler de knop 1 munt indrukt.
    De functie trekt 2 van het totaal aantal munten af wat over is, en geeft een update aan het label wat het totaal aantal munten bijhoudt.
    '''
    global aantal_munten
    eenMunt = 1
    aantal_munten -= eenMunt
    munten.configure(text='Er zijn nog ' + (str(aantal_munten)) + ' aantal munten over, hoeveel pak je er?')
    if aantal_munten <= 0:
        CvPtoonEindscherm()
    else:
        # change player
        CvPRandomSpeler()

def CvPMunt2():
    '''
    Deze funtie wordt aangeroepen binnen de speler tegen speler optie als een computer de knop 2 munten indrukt.
    De functie trekt 2 van het totaal aantal munten af wat over is, en geeft een update aan het label wat het totaal aantal munten bijhoudt.
    '''
    global aantal_munten
    tweeMunt = 2
    if aantal_munten >= 2:
        aantal_munten -= tweeMunt
        munten.configure(text='Er zijn nog ' + (str(aantal_munten)) + ' aantal munten over, hoeveel pak je er?')
        CvPRandomSpeler()
    elif aantal_munten == 1:
        munten.configure(text='Er is nog ' + (str(aantal_munten)) + ' munt, pak één munt!')
    elif aantal_munten <= 0:
        CvPtoonEindscherm()

nim_spel = tkinter.Tk()#maakt Tkinter venster aan

global aantal_munten #zet een global aantal_munten op welke gebruikt wordt in de functies en labels
aantal_munten = 7

global speler_computer #zet een global voor de speler/computer op welke gebruikt wordt in de functies en labels
speler_computer = random.choice(['Speler', 'Computer']) #zorgt ervoor dat er een willekeurige speler/computer start

computerscherm = tkinter.Frame(master=nim_spel) #maakt het speler tegen computer scherm, geeft een label met het overige aantal munten en of de speler aan de beurt is, ook twee knoppen die elk één of twee munten van de overige munten af halen
computerscherm.pack()
welke_beurt = tkinter.Label(computerscherm, text= (speler_computer) + ' is aan de beurt')
welke_beurt.pack()
munten = tkinter.Label(computerscherm, text='Er zijn nog ' + str(aantal_munten) + ' aantal munten over')
munten.pack()
CvP_pak_1_munt = tkinter.Button(computerscherm, text='1 munt', fg = 'blue', command=CvPMunt1)
CvP_pak_1_munt.pack(side = 'left')
CvP_pak_2_munt = tkinter.Button(computerscherm, text='2 munten', fg = 'blue', command=CvPMunt2)
CvP_pak_2_munt.pack(side = 'right')


toonStartscherm()
nim_spel.mainloop()
导入tkinter
随机输入
从时间上导入睡眠
def CvPRandomSpeler():
'''
这是一种计算机选择功能,它可以在任何情况下使用。
根据wisseling van speler/计算机更新标签。
'''
全球speler_计算机
全球安塔尔穆腾酒店
如果speler_计算机=='speler':
speler_计算机=‘计算机’
文[2,5]
CvPMunt2()
elif speler_计算机=='speler':
speler_计算机=‘计算机’
文[1,3,4,6,7]
CvPMunt1()
其他:
speler_计算机='speler'
welke_beurt.config(text=speler_computer+‘is aan de beurt!')
睡眠(.5)
返回speler_计算机
def CvPMunt1():
'''
这是一个非常有趣的单词,它可以在一个月内为斯佩勒提供计算机选项。
2号风机的功能更新和标签的更新都将覆盖整个风机。
'''
全球安塔尔穆腾酒店
eenMunt=1
安塔尔穆滕-=伊恩穆特
配置(text='Er zijn nog'+(str(aantal_munten))+'aantal munten over,hoeveel pak je Er?'))
如果安塔尔穆腾=2:
安塔尔穆滕-=tweeMunt
配置(text='Er zijn nog'+(str(aantal_munten))+'aantal munten over,hoeveel pak je Er?'))
CvPRandomSpeler()
埃利夫·安塔尔·穆滕==1:
configure(text='Er is nog'+(str(aantal_munten))+'munt,pakèn munt!')

如果[2,5]
和[1,3,4,6,7]中的行
aantal\u-munten什么都不做,这里:它们求值为真或假,但代码对结果没有任何影响。如果您想让它们对这些语句执行某些操作,则需要在If语句或类似语句中使用它们。

缩短所显示的代码量。呈现绝对相关的部分。否则你不会得到太多帮助。