6

说我想这样使用raw_input

code = raw_input("Please enter your three-letter code or a blank line to quit: ")

在下面:

if __name__=="__main__": 

我怎样才能让它重复多次而不是每次运行程序时只重复一次?
另一个问题是写什么代码可以满足条件“或空行退出(程序)”。

4

4 回答 4

6

最好的:

if __name__ == '__main__':
  while True:
    entered = raw_input("Please enter your three-letter code or leave a blank line to quit: ")
    if not entered: break
    if len(entered) != 3:
      print "%r is NOT three letters, it's %d" % (entered, len(entered))
      continue
    if not entered.isalpha():
      print "%r are NOT all letters -- please enter exactly three letters, nothing else!"
      continue
    process(entered)
于 2009-11-23T06:58:12.687 回答
4
while 1:
    choice=raw_input("Enter: ")
    if choice in ["Q","q"]: break
    print choice
    #do something else
于 2009-11-23T07:17:25.573 回答
1
def myInput():
    return raw_input("Please enter your three-letter code or a blank line to quit: ")

for code in iter(myInput, ""):
    if len(code) != 3 or not code.isalpha():
        print 'invalid code'
        continue
    #do something with the code
于 2013-10-16T02:05:11.867 回答
0
if __name__ == '__main__':

    input = raw_input("Please enter your three-letter code or leave a blank line to quit: ")
    while input:
        input = raw_input("Please enter your three-letter code or leave a blank line to quit: ")
于 2009-11-23T06:41:42.730 回答