gpt4 book ai didi

python - 这个特定参数如何接收值?

转载 作者:行者123 更新时间:2023-11-28 20:51:45 24 4
gpt4 key购买 nike

我有以下脚本,摘自一本 python 游戏开发书籍。作者解释了一切,除了一件事。我试图自己弄清楚,但作为初学者,它没有多大意义。这是代码:

import random
import time

def displayIntro():
print('You are on a planet full of dragons. In front of you,')
print('you see two caves. In one cave, the dragon os friendly')
print('and will share his treasure with you. The other dragon')
print('is greedy and hungry, and will eat you on sight.')
print()

def chooseCave():
cave=''
while cave != '1' and cave != '2':
print('Which cave will you go into? (1 or 2)')
cave=input()
return cave

def checkCave(chosenCave):
print('You approach the cave...')
time.sleep(2)
print('It is dark and spooky...')
time.sleep(2)
print('A large dragon jumps out in front of you! He opens his jaws and...')
print()
time.sleep(3)
friendlyCave=random.randint(1,2)
if chosenCave==str(friendlyCave):
print('Gives you his treasure!')
else:
print('Gobbles you down in one bite.')

playAgain='yes'
while playAgain=='yes' or playAgain=='y':
displayIntro()
caveNumber=chooseCave()
checkCave(caveNumber)
print('Do you want to play again? (yes or no)')
playAgain=input()

现在我的问题是:参数chosenCave是如何取值的?对我来说,它似乎没有在任何地方定义。我们定义了什么是 cave 和什么是 friendlyCave,但没有定义 chosenCave。这里发生了什么?我错过了什么?

抱歉,如果这是一个完整的初学者问题。

最佳答案

参数 chosenCave 在调用 checkCave 函数时接收其值。在此之前它没有任何值(value)。

当您定义一个函数时,您必须选择声明该函数的参数。这就是您在函数名称旁边的括号中看到 chosenCave 的地方。这些括号创建了正式称为“形式参数声明”的内容。它定义了某人将如何调用您的方法。它实际上并没有调用该方法,只是告诉大家如何调用它。

在代码的底部,您会看到这段代码:

caveNumber = chooseCave()
checkCave(caveNumber)

这就是所谓的“实际参数声明”。这是一种奇特的说法,这就是 chosenCave 的实际值。在您的示例中,已为 chosenCave 分配了变量 caveNumber 中的值。

现在这并不意味着 chosenCave 永远都是一个值。它只是意味着在函数执行期间它是一个特定的值。每次调用函数时,都可以将新值分配给 chosenCave。例如,用户可以选择洞穴 1,获得一些宝物,说是再玩一次,然后选择洞穴 2。这是 checkCave 的两次调用。第一个是 checkCave(1),第二个是 checkCave(2)。 chosenCave 的值可以随着函数的每次调用而改变。

关于python - 这个特定参数如何接收值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com