[英]Python Script not Working def
下面的代碼一直在跳過“TryAgainQuestion()”函數::::我真的需要一些幫助!!! 它變得很煩人
import time
ranname = "0"
def AskForName():
ranname = "1"
name = input("Please enter your name: ")
print("--------------------")
print(" .:: ",name," ::.")
print("--------------------")
print(" ")
time.sleep(2)
Start()
def TryAgainQuestion():
tryagain = input("Do you want to try again? (Y or N): ")
if (tryagain == "y" or "Y"):
AskForName()
else:
time.sleep(1)
print("Made By: Daniel Parker")
def Start():
if (ranname == "1"):
TryAgainQuestion()
if (ranname == "0"):
AskForName()
Start()
謝謝,丹
這是一個范圍問題: ranmame
在第二條線是不一樣的人在AskForName
功能。 您需要在函數開頭添加global ranname
才能正確更新。
import time
ranname = "0"
def AskForName():
global ranname
ranname = "1"
正如@georgesl建議和說的那樣,它的范圍問題(命名空間)
請閱讀本指南,我正在附上一個工作代碼:
import time
class myClass():
def __init__(self):
self.ranname = "0"
def AskForName(self):
self.ranname = "1"
name = raw_input("Please enter your name: ")
print("--------------------")
print(" .:: ", name, " ::.")
print("--------------------")
print(" ")
time.sleep(2)
self.Start()
def TryAgainQuestion(self):
tryagain = raw_input("Do you want to try again? (Y or N): ")
if (tryagain == "y"):
self.AskForName()
else:
time.sleep(1)
print("Made By: Daniel Parker")
def Start(self):
if self.ranname == "1":
self.TryAgainQuestion()
if self.ranname == "0":
self.AskForName()
def main():
myclass = myClass()
myclass.Start()
#end of main
if __name__ == "__main__":
main()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.