Python 告诉我调用函数的方法

Python 告诉我调用函数的方法,python,python-2.x,Python,Python 2.x,所以我正在学习编码,我从Python开始。 我已经学习了python编程的基本知识,比如变量、运算符、一些函数等 我有以下代码: def guessGame(): import random guesses = 0 randomNo = random.randint(0, 100) print "I think of a number between 0 and 100, you have 10 guesses to get it right!" whil

所以我正在学习编码,我从Python开始。 我已经学习了python编程的基本知识,比如变量、运算符、一些函数等

我有以下代码:

def guessGame():
    import random
    guesses = 0
    randomNo = random.randint(0, 100)
    print "I think of a number between 0 and 100, you have 10 guesses to get it right!"
    while guesses < 10:
        guess = input("Take a guess ")
        guess = int(guess)
        guesses += 1
        if guess < randomNo:
            print "The number is higher than your guess"
        if guess > randomNo:
            print "The number is lower than your guess"
        if guess == randomNo:
            break
    if guess == randomNo:
        guesses = str(guesses)
        print "You got it in %s guesses!" % guesses
    if guess != randomNo:
        print "You failed to guess!"
guessGame()
def guessGame():
随机输入
猜测=0
randomNo=random.randint(01100)
打印“我想到一个介于0和100之间的数字,你有10次猜对!”
当猜测<10时:
猜测=输入(“猜测”)
猜测=int(猜测)
猜测+=1
如果猜测<否:
打印“数字高于您的猜测”
如果猜测>随机否:
打印“数字低于您的猜测”
如果guess==randomNo:
打破
如果guess==randomNo:
猜测=str(猜测)
打印“您在%s猜测中得到了它!”%s猜测
猜猜看!=编号:
打印“你猜错了!”
猜谜游戏
当我在cmd中运行代码时,它会在函数被“调用”之前结束。

您在主程序中只调用了一次游戏,主程序只包含最后一行。它运行游戏一次,然后退出。代码中没有第二个调用。也许您想要一个经典的“再次播放?”循环:

每次游戏结束后,你都会要求玩家输入。如果输入以字母“y”(大写或小写)开头,则继续播放;否则,play将变为False,您将退出循环


这就是您想要的吗?

而且看起来您正在使用python 2.x?在这种情况下,您需要使用
raw\u input()
而不是
input()
我不确定您得到的输出有什么问题?对我来说很好。python
3.4.3
看起来不错,在得到结果后不应该重新开始,因此出现了“guessGame()”行。我现在明白了——你希望游戏调用自己。您需要缩进该行以使其成为函数的一部分(正如前面的注释建议您检查的那样)。然而,这不是一种重复某件事情的好方法——递归是指将问题分解为同一事物的较小版本。仅仅是重复就意味着一个简单的循环。是的,当然。这实际上是有道理的。。。Thaks^^嘿,我试着用我的方式来做,你能帮我检查一下吗:如果我需要快速检查密码,有没有办法让你联系我。。dw我经常在谷歌上搜索,所以不会经常从主程序而不是游戏中调用新函数。你犯了我说过的递归错误。
play = True
while play:
    guessGame()
    play = lower(raw_input("Play again?")[0]) == 'y'