2014-06-10 60 views
-5

这里是我的代码:即执行功能导致输出的解释

import random 
import time 

def gameintronew(): 
    print('Hello! What\'s your name?') 
    myName = input() 

    time.sleep(2) 

    print('Well '+myName+', I am thinking of a number between 1 and 20.') 
    number = random.randint(1, 20) 

    guessesTaken = 0 
    guessesLeft = 6 

    gamestart() 
def gameintrolold(): 
    print('Okay '+myName+', I am thinking of another number between 1 and 20. Can you guess this one?') 
    number = random.randint(1, 20) 

    guessesTaken = 0 
    guessesLeft = 6 

    gamestart() 
def gamestart(): 

    while guessesTaken < 6: 

     if guessesTaken == 0: 
      print('Take a guess.') 
     else: 
      print('Take another guess.') 

     guess = input() 
     guess = int(guess) 

     if guess < number: 
      print('Your guess was too low.') 

     if guess > number: 
      print('Your guess was too high.') 

     if guess == number: 
      break 

    if guess == number: 
     print('Well done '+myName+'! The number I was thinking of was indeed '+str(number)+'! You guessed my number in '+str(guessesTaken)+' with '+str(guessesLeft)+' guesses left!') 

     playAgain() 

    if guess != number: 
       print('Nope. The number I was thinking of was '+str(number)+'.') 

然而,当,没有响应,只是一个空行。我试过它没有def,它工作正常,也尝试了python的不同平台,仍然是相同的结果。

非常感谢,

汤姆

+5

你忘了实际调用函数 –

回答

3

def本身并没有执行任何代码。它只需要一段代码并给它一个名字。

您必须调用函数以获得任何输出,并且必须在“最高级别”(任何类或模块定义之外)调用它们。

+0

更具体地说,你必须调用代码最底部的'gameintro'函数之一 –