刚开始编码,无法弄清楚为什么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 :( ")
答案 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 start
和start()
来运行您的程序。
答案 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()”。您还要求输入“是”,但检查用户是否给出“是”。