我试图让我的程序在用户输入y/n时重复,但是我对如何将while-true用于这种类型的输入感到困惑,下面是一些代码。

again = input("Would you like to play again? enter y/n: ")
if again =="n":
print ("Thanks for Playing!")
quit
if again =="y":
print ("Lets play again..")
????

另外,如果用户输入了不同的字符,我想做一个else语句,但是考虑到我有两个不同的if语句,我不确定如何进行。

使用函数或只是做while again !='n'

很简单的例子,来验证:当需求="Y":

在编写独立的Python程序时,使用主函数是一个很好的实践。它允许您轻松地添加一些单元测试、使用来自其他模块的函数或类(如果导入它们)等。

如果您必须检查在某些其他条件不满足的情况下是否满足某些条件,并根据哪个条件为真执行一些操作,则可以使用if…elif…else语句。

另外,请注意,在这种情况下,您不能为您的程序使用input()函数。您真正想要使用的是原始输入。这两个函数的区别在于raw_input()总是返回一个字符串,input()将评估用户的输入,就像它是用代码而不是input()编写的一样。因此,如果用户输入"y"(带引号),那么字符串对象将存储为变量的值。但如果用户输入y(不带引号),input()将尝试对此进行计算,如果y未定义,则会引发错误。

你可以在这里阅读更多关于这个主题的内容。

def main():
while True:
again = raw_input("Would you like to play again? Enter y/n:")
if again =="n":
print ("Thanks for Playing!")
return
elif again =="y":
print ("Lets play again..")
else:
print ("You should enter either "y" or "n".")
if __name__ =="__main__":
main()

这正是我需要的,除了在程序开始时开始,我没有发布早期的代码,但是,我会将整个代码放在主函数中吗?

是的,将我的原始代码放入循环中,它按预期工作,谢谢您的帮助。

通常使用该文件定义不同的函数,包括要直接执行的文件的main()函数。因此,对于用户运行程序时应该执行的所有操作,都可以使用main()函数(但如果它使用其他一些函数,则可以将它们放在main()函数之外,甚至放在这个特定文件之外)。

def play_game():

if int(raw_input("Guess a number:"))!= 5:
print"You Lose!"
else:
print"You Win!"
def play_again():
return raw_input("Play Again?").lower() =="y"
while True:
play_game()
if not play_again(): break
print"OK Goodbye..."

我让我的代码开始工作,每当它转到else语句时,它都会循环,基本上循环回if语句。

刚开始学Python,我真的很喜欢它。这是我的简单代码。

print 'Welcome to"Guess my number"'
def main():
while True:
number = raw_input('Please Enter a number between 1 and 10: ')
if number == '5':
print 'You Got It!! It\'s number ' + number
return
else:
print 'Please try again!'
main()
raw_input("
Press enter")

在操作上下文中回答总是比提供新的更好。

你可以这样做:

将bool值赋给名为playing的变量,然后将其用作循环条件。

所以你会这样做的;

playing = True
while playing:
choice = input("would you like to play again? y/n:")
if choice =="n":
print"Thanks for playing"
playing = False
else:
print"play again.. etc..."
将playing变量设置为false,导致循环终止。