Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将值传递给函数,然后返回新值?_Python_Function - Fatal编程技术网

Python 如何将值传递给函数,然后返回新值?

Python 如何将值传递给函数,然后返回新值?,python,function,Python,Function,因此,我试图在oppgave4()中实现flytt\u spiller(),以便笑脸根据输入(w/a/s/d)移动 如何将值spillerX/spillerY放入flytt_spiller(),然后对其进行更改,然后将新值返回到oppgave4() 您需要添加一个条件来停止代码,直到该条件不满足为止,然后不停地运行现有代码 def print_kart(kart): for rad in kart: print(" ".join(rad)) def oppdate

因此,我试图在
oppgave4()
中实现
flytt\u spiller()
,以便笑脸根据
输入(w/a/s/d)
移动


如何将值
spillerX/spillerY
放入
flytt_spiller()
,然后对其进行更改,然后将新值返回到
oppgave4()

您需要添加一个条件来停止代码,直到该条件不满足为止,然后不停地运行现有代码

def print_kart(kart):
    for rad in kart:
         print("   ".join(rad))

def oppdater_kart(spillerX, spillerY, monsterX, monsterY):
    kart = []
    gridline = []
    for y in range(10):
      gridline.append(".")

    for x in range(10):
     kart.append(list(gridline))

    kart[spillerY][spillerX]= '\U0001f600' #smiley
    kart[monsterY][monsterX] = '\U0001f47A' #goblin
    print_kart(kart)


def flytt_spiller(bevegelse, spillerX, spillerY):
    if bevegelse == "w":
        spillerY -=1

    elif bevegelse == "a":
        spillerX -=1

    elif bevegelse == "s":
        spillerY +=1

    elif bevegelse == "d":
        spillerX +=1

    else:
        print('push wasd to move  ')

    return spillerY, spillerX


def oppgave4():

    spillerX=1
    spillerY=2
    monsterX=3
    monsterY=4
    oppdater_kart(spillerX, spillerY, monsterX, monsterY)

    bevegelse = input('move: ')

    flytt_spiller(bevegelse, spillerX, spillerY)
    oppdater_kart(spillerX, spillerY, monsterX, monsterY)


oppgave4()

首先,您没有实现flytt_spiller,您只是在调用它。其次,可以获取函数返回的值并将其分配给变量<代码>spillerX,spillerY=flytt_spiller(…)使用while循环并创建一个新参数以退出
def oppgave4():

    spillerX=1
    spillerY=2
    monsterX=3
    monsterY=4
    exit = 10

    oppdater_kart(spillerX, spillerY, monsterX, monsterY)

    bevegelse = int(input('move: '))
    while bevegelse!=10:
        flytt_spiller(bevegelse, spillerX, spillerY)
        oppdater_kart(spillerX, spillerY, monsterX, monsterY)
        bevegelse = int(input('move: '))