Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在空闲状态下停止程序,python 3.2_Python - Fatal编程技术网

如何在空闲状态下停止程序,python 3.2

如何在空闲状态下停止程序,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。

我在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。

使用
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模式下工作,而在另一个模式下不工作。)