如何在空闲状态下停止程序,python 3.2
我在Idle中制作了一个程序,上面写着:如何在空闲状态下停止程序,python 3.2,python,Python,我在Idle中制作了一个程序,上面写着: for trial in range(3): if input('Password:') == 'password': break else: # didn't find password after 3 attempts **I need a stop program here** print ("Welcome in") 请记住,这是在空闲,所以我需要的空闲程序,而不是CMD。如果有帮助的话,我也在使用Python 3.2。
for trial in range(3):
if input('Password:') == 'password':
break
else:
# didn't find password after 3 attempts
**I need a stop program here**
print ("Welcome in")
请记住,这是在空闲,所以我需要的空闲程序,而不是CMD。如果有帮助的话,我也在使用Python 3.2。使用sys.exit()
或raisesystemexit
import sys
for trial in range(3):
if input('Password:') == 'password':
break
else:
sys.exit()
print ("Welcome in"))
编辑:
要以静默方式结束它请将其包装在块中,然后尝试“除此之外”
块:
try:
import sys
for trial in range(1):
if raw_input('Password:') == 'password':
break
else:
raise SystemExit #or just sys.exit()
print ("Welcome in")
except SystemExit:
pass #when the program throws SysExit do nothing here,i.e end silently
使用sys.exit()
或raisesystemexit
import sys
for trial in range(3):
if input('Password:') == 'password':
break
else:
sys.exit()
print ("Welcome in"))
编辑:
要以静默方式结束它请将其包装在块中,然后尝试“除此之外”
块:
try:
import sys
for trial in range(1):
if raw_input('Password:') == 'password':
break
else:
raise SystemExit #or just sys.exit()
print ("Welcome in")
except SystemExit:
pass #when the program throws SysExit do nothing here,i.e end silently
我不确定你所说的“空闲”和“命令”是什么意思。IDLE启动的pythonshell应该能够以与从命令行启动的pythonshell相同的方式终止 此外,示例中的选项卡似乎是错误的:下面的
for…
和上面的print…
都应该缩进
关于您的问题:您是否要求命令在该点终止您的脚本?如果是这样,从sys import exit添加两行
,然后调用exit()
就可以了,尽管这会引发SystemExit
异常。如果您不喜欢,可以在程序的外层为SystemExit
异常类型添加pass
处理程序。我不确定您所说的“处于空闲”与“处于命令”是什么意思。IDLE启动的pythonshell应该能够以与从命令行启动的pythonshell相同的方式终止
def main():
for trial in range(3):
if input('Password:') == 'password':
break
else:
return
print ("Welcome in")
main()
此外,示例中的选项卡似乎是错误的:下面的for…
和上面的print…
都应该缩进
关于您的问题:您是否要求命令在该点终止您的脚本?如果是这样,从sys import exit
添加两行,然后调用exit()
就可以了,尽管这会引发SystemExit
异常。如果你不喜欢,您可以在程序的外层为SystemExit
异常类型添加pass
处理程序。可以随时退出程序。可以随时退出程序。更好的方法是将程序放入函数中,并在需要停止时返回。然后调用函数来运行程序
def main():
for trial in range(3):
if input('Password:') == 'password':
break
else:
return
print ("Welcome in")
main()
一种更好的方法是将程序放入函数中,并在需要停止时返回。然后调用函数来运行程序
def main():
for trial in range(3):
if input('Password:') == 'password':
break
else:
return
print ("Welcome in")
main()
我尝试了sys.exit()
,它将'sys'
突出显示为无效语法
这可能与我的操作方式有关,但如果是这样的话,那么就使用IDK。我尝试了sys.exit()
,它将'sys'
突出显示为无效语法
这可能与我如何做有关,但如果是这样的话,那么IDK那么。它是一个if-else
或for else
?为什么它处于空闲或CMD状态很重要?它是一个if-else
或for else
?为什么它处于空闲或CMD状态很重要?我收到一个错误消息:Traceback(最近的调用last):Filesys.exit()SystemExit中的第8行“F:\password.py”这是预期的行为——sys.exit()引发SystemExit,它告诉Python终止程序。使用sys.exit(returnCode)
,其中异常退出的返回码为非零(通常为1)@C0deH4cker indentation fixed。不,只有第一个是固定的。看看你的else与if相比的级别。另外,如果if只是返回,你不需要else。我得到一个错误,说:Traceback(最近一次调用):文件“F:\password.py”,在sys.exit()systemexit的第8行,这是预期的行为--sys.exit()引发SystemExit,它告诉Python终止程序。使用sys.exit(returnCode)
,其中异常退出的返回码为非零(通常为1)@C0deH4cker indentation fixed。不,只有第一个是固定的。看看你的else与if相比的级别。另外,如果if只是返回ssometime,你不需要else,idle中的命令与CMD中的不同(有些东西在idle/CMD中工作,而在另一个中不工作)。有时候,idle中的命令与CMD中的不同(有些东西在idle/cmd模式下工作,而在另一个模式下不工作。)