到目前为止,我有两个类似的函数函数def A()
和函数def B()
,它可以工作,但我想这样做,以便在用户完成函数{{1 }},...他可以选择退出,或者在函数B()
中写入数据再次开始这个过程
从理论上讲,用户可以在他(例如)点击A()
退出程序之前重复该过程一百万次。
我将如何实现这一目标?
ENTER
答案 0 :(得分:1)
最好将A()
的功能与B()
合并并传递一个标志,但这里有一个解决方案,允许在A()
之后调用B()
,直到用户点击RETURN
:
def A():
print 'Processing in A!'
def B():
choice = ''
print 'Processing in B!'
while choice.lower().strip() != 'r':
choice = raw_input("Press R to repeat, RETURN to exit: ").lower().strip()
if choice == '':
return False
if choice == 'r':
return True
while B():
A()
输出:
Processing in B!
Press R to repeat, RETURN to exit: R
Processing in A!
Processing in B!
Press R to repeat, RETURN to exit: r
Processing in A!
Processing in B!
Press R to repeat, RETURN to exit: notR
Press R to repeat, RETURN to exit:
一些注意事项:
lower()
会返回用户键入的所有小写字符,以便r
和R
被视为相同。
strip()
从输入中删除任何前导或尾随空格。
答案 1 :(得分:1)
怎么样:
i = "r"
while i != "q":
A()
B()
i = raw_input("Press Q to quit, press any other key to repeat with def A (parameters):").lower().strip()