本问题已经有最佳答案,请猛点这里访问。
我已经写了一个代码,它可以工作了,因为代码中有变量,我想在最后问这个人是否想退出/继续,他们说继续,它可以一直回到第一个问题。还有一种方法可以从一开始就问这个问题要重复多少次。抱歉,无法上传代码,因为它超过150行助教灰色D
您可以上传一个较小的示例/相关部分,不必是实际的代码,但人们更愿意帮助您完成所尝试的工作,而不是为您编写整个解决方案的代码。
i = 0
def code_to_repeat():
# whatever is your code
print"I was repeated :" + str(i) +" times"
while(True):
print"Do you want to run the code (Y/N) :"
stri = raw_input()
print"
"
if stri=="Y":
i += 1
code_to_repeat()
elif stri=="N"
print"exiting
"
break;
else:
print"Please Answer Y/N only.
"
我觉得这有点奇怪,因为它问你是否想第一次通过循环运行代码…
在您的情况下,while循环应该有效。
while(raw_input("to exit enter n")[0] != 'n'):
print("Doing some work in the loop, until user enters an 'n'.")
raw_input()
是请求用户输入的好方法,允许您插入提示,例如
to exit enter n。
请记住,您应该检查是否超过"n",如用户按回车键。此外,对数据执行简单的分析可能是有意义的,所以你可以做的不仅仅是回应是否有人输入n。
在Python中,while循环应该允许您完成您的目标。您可以使用这样的例子来解决您的问题:
while(raw_input()[0] != 'n'):
print 'to exit print n'
这也很有效,但是您无法处理用户输入的内容——所以为了继续下去,他们只需敲击键盘并按Enter键。如果用户在不输入任何数据的情况下点击"回车/返回",也会失败。
如果我正确理解你的问题,这样的事情可能会奏效。
def dostuff():
ABC = raw_input("Enter Number (q exits):")
if(ABC.lower() == 'q'): #Allow the user to enter q at this point to exit
return False
Product = int(raw_input("Enter Product:"))
#do stuff to print out the cost of these items.
#We could forgo the next lines and always return True here assuming the user
#has more input if they didn't input 'q' for 'ABC'. That's up to you.
#return True
print"Do you have more purchases [Y/N]?"
answer=raw_input()
return answer.upper() == 'Y'
while dostuff():
pass
#same as:
#while True:
# if(not dostuff()):
# break
伙计,你的代码有点乱,你可以只写例如return answer.upper() == 'Y'。
@杰克:好的。昨晚睡得不多。当然,dostuff也可以更好地放入主while循环中。这有点奇怪,因为即使用户想继续,经过一定次数的尝试,他们也不能继续。但基本的想法是使用while循环——我希望这足够清楚。
好的,这里是相关代码abc=raw_input("输入编号:")product=int(raw_input("输入产品:")),一旦他们输入了编号,就会出现这些项目的产品A$amount。如果他们要订购的商品不止一件,那么需要回到第一个问题,或者我可以问他们要订购多少种不同的商品。我试过你的选择,但没用,也不知道放在哪里。
@格雷吉德——我编辑过一点。这里的想法基本上和以前一样…
mgilson,我试过代码,但它有一个缩进错误。我还将您的代码复制到了一个单独的屏幕上,它返回时出现语法错误。
@格雷吉德——对不起,在我的书后面忘了":"号。另外,pass前面的空格太少了。
看起来我发生了一个缩进错误,如何检查这个。我查看过其他站点,他们说-tt选项或查看空白,在python 2.6中是如何做到的?
顺便说一句,你可以做一件事。
@杰克·鲍耶——当然可以。不过,为了写一个答案,我想明确指出,answer是用户输入的内容,它是一个字符串,然后测试它是否是。有时,额外的代码行有助于更清楚地了解语言新手的遭遇。