[英]How to return to previous block of code in python?
我正在為這個神奇的 8ball 游戲編寫代碼。 當用戶在回放中鍵入“y”時,我似乎找不到返回 getAnswer() 的方法。 我該如何解決?
import random
import time
import sys
print(' __ __ _____ _____ _____ ___ ')
print(' | \/ | /\ / ____|_ _/ ____| / _ \ ')
print(' | \ / | / \ | | __ | || | | (_) |')
print(' | |\/| | / /\ \| | |_ | | || | > _ < ')
print(' | | | |/ ____ \ |__| |_| || |____ | (_) |')
print(' |_| |_/_/ \_\_____|_____\_____| \___/ ')
print('')
print('')
print('')
print('Hello, I am the magic 8ball program... What is your name?')
name = input()
print('')
print('Hello, ' + name + '...')
def getAnswer(answerNumber):
print('ask me a question')
input()
print('predicting...')
time.sleep(2)
if answerNumber == 1:
return 'It is certain'
elif answerNumber == 2:
return 'It is decidingly so'
elif answerNumber == 3:
return 'Yes'
elif answerNumber == 4:
return 'reply hazy, try again'
elif answerNumber == 5:
return 'no'
elif answerNumber == 6:
return 'ask again later'
elif answerNumber == 7:
return 'concentrate and ask again'
elif answerNumber == 8:
return 'Outlook does not look good'
elif answerNumber == 9:
return 'I highly doubt so'
print(getAnswer(random.randint(1,9)))
def replay():
print('do you have another question? [y/n]')
reply = input()
if reply == 'y' or 'Y' or 'Yes' or 'yes':
getAnswer()
elif reply == 'n' or 'N' or 'No' or 'no':
sys.exit()
else:
print('My apologies, I did not catch that. Please try again.')
replay()
replay()
我將 getAnswer() 放在“如果回復”下,希望它會恢復到代碼開頭的第一個變量。 程序錯誤表明它缺少一個位置要求,但是當我將 answerNumber 放在 getAnswer() 中時,它只是另一個錯誤。
我被困住了。 任何幫助表示贊賞。
我認為這就是你要找的:
import random
import time
import sys
print(' __ __ _____ _____ _____ ___ ')
print(' | \/ | /\ / ____|_ _/ ____| / _ \ ')
print(' | \ / | / \ | | __ | || | | (_) |')
print(' | |\/| | / /\ \| | |_ | | || | > _ < ')
print(' | | | |/ ____ \ |__| |_| || |____ | (_) |')
print(' |_| |_/_/ \_\_____|_____\_____| \___/ ')
print('')
print('')
print('')
print('Hello, I am the magic 8ball program... What is your name?')
name = input()
print('')
print('Hello, ' + name + '...')
def getAnswer(answerNumber):
print('ask me a question')
input()
print('predicting...')
time.sleep(2)
if answerNumber == 1:
return 'It is certain'
elif answerNumber == 2:
return 'It is decidingly so'
elif answerNumber == 3:
return 'Yes'
elif answerNumber == 4:
return 'reply hazy, try again'
elif answerNumber == 5:
return 'no'
elif answerNumber == 6:
return 'ask again later'
elif answerNumber == 7:
return 'concentrate and ask again'
elif answerNumber == 8:
return 'Outlook does not look good'
elif answerNumber == 9:
return 'I highly doubt so'
print(getAnswer(random.randint(1,9)))
def replay():
while True: #keep replaying
print('do you have another question? [y/n]')
reply = input()
if reply == 'y' or 'Y' or 'Yes' or 'yes':
getAnswer(random.randint(1,9)) #choose random answer
elif reply == 'n' or 'N' or 'No' or 'no':
sys.exit()
else:
print('My apologies, I did not catch that. Please try again.')
replay()
replay()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.