我是Python的新手,基本上除了d或o之外还想要重新运行这个问题吗?有帮助吗?
Myfile = raw_input( '''Specify filename (o) or use default chain (d)? ''')
if Myfile == 'd':
print 'default choosen '
Myfile = 'M:/test/testchains_a.csv'
if Myfile == 'o':
print 'own file choosen '
Myfile = raw_input('Enter absolute path to the .csv file:')
else:
print 'successful'
答案 0 :(得分:3)
您可以使用while
循环检查输入是否为' o'或者' d':
MyFile = None
while MyFile != 'o' and MyFile != 'd':
Myfile = raw_input( '''Specify filename (o) or use default chain (d)? ''')
答案 1 :(得分:1)
你可以按照squiguy
建议的方式执行此操作,但将整个事物放入循环可能更具可读性,因此您不必重复两次相同的检查:
while True:
Myfile = raw_input( '''Specify filename (o) or use default chain (d)? ''')
if Myfile == 'd':
print 'default choosen '
Myfile = 'M:/test/testchains_a.csv'
break
elif Myfile == 'o':
print 'own file choosen '
Myfile = raw_input('Enter absolute path to the .csv file:')
break
这将永远循环,直到它达到break
- 换句话说,直到他们选择'd'
或'o'
。
答案 2 :(得分:0)
您可以使用循环:
wrong = True
while(wrong):
file = raw_input("My awesome prompt")
if file == "d":
file = '/some/path'
wrong = False
if file == "o":
file = raw_input("Where?")
wrong = False
# Continue your program...
答案 3 :(得分:0)
我认为你的实际问题是糟糕的UI设计。第一个问题是多余的,可以很容易地消除:
myfile = raw_input('Enter absolute path to the .csv file (leave blank to use the default):')
myfile = myfile or 'M:/test/testchains_a.csv'
这种“点击进入使用默认”方法在对话程序中很常见。
要回答问题的问题,我建议使用这样的函数:
def prompt(message, choices):
while True:
s = raw_input(message)
if s in choices:
return s
并在您的主要代码中:
option = prompt('Specify filename (o) or use default chain (d)? ', 'od')
if option == 'd':
...
elif option == 'o':
...
答案 4 :(得分:0)
使用elif(elseif),否则
file = input("enter (d) to use the default file or enter (c) to specify a custom path: ")
if file.lower() == "d":
print("some code")
elif file.lower() == "c":
print("some code")
else:
print("invalid answer!")
input()