功能未运行

时间:2015-01-24 13:27:28

标签: python

刚开始编码,无法弄清楚为什么start函数不会向我询问任何用户输入。

import random

number = random.randint(1,6)

def start():
    print("Do you want to start?")
    answer = raw_input("Type 'Yes' to start!")  #Asks me for user input... Doesn't work
    if answer == "yes":
        print("Rolling the dice... The number is... " + number)
    else:
        print("Aww :( ")

4 个答案:

答案 0 :(得分:3)

您希望将您的计划作为一个模块考虑。

尝试进行以下更改:

import random

_NUMBER = random.randint(1,6)

def start():
    print("Do you want to start?")
    answer = raw_input("Type 'Yes' to start!")
    if answer == "yes":
        print("Rolling the dice... The number is... " + _NUMBER)
    else:
        print("Aww :( ")

if __name__ == "__main__":
    start()

"if name"... addition允许您的程序作为模块从解释器运行。您也可以轻松地将此模块导入其他程序。

我还更改了全局变量(数字)的语法,以反映最佳做法。它现在是私人的 - 用下划线表示 - 大写。

如果此程序作为模块导入,则全局变量不会影响同名的程序。

现在,您可以从命令行执行python filename.py,或从解释程序执行from filename import startstart()来运行您的程序。

答案 1 :(得分:2)

你必须调用该函数。

start()

工作脚本:

import random

number = random.randint(1,6)

def start():
    print("Do you want to start?")
    answer = raw_input("Type 'Yes' to start!")
    if answer == "yes":
        print "Rolling the dice... The number is... ", number
    else:
        print("Aww :( ")

start()

答案 2 :(得分:2)

你永远不会实际调用该函数:

number = random.randint(1,6)

def start():
    print("Do you want to start?")
    answer = raw_input("Type 'Yes' to start!")
    if answer == "yes":
        print("Rolling the dice... The number is... " + number)
    else:
        print("Aww :( ")

start()

答案 3 :(得分:2)

就像其他两个人说的那样,你没有调用函数“start()”。您还要求输入“是”,但检查用户是否给出“是”。