如何在python中重新运行我的程序

时间:2016-07-31 14:32:36

标签: python caesar-cipher

我想知道如何重新运行此程序。在成功的过程之后,我希望再次使用这个程序,而无需关闭和重新开启。 我该怎么做? 运行此代码后,它只需打开python窗口并立即关闭它。

def sifra():
retezec = input("Zadejte slovo: ")
print("Zadali jste slovo: ",retezec)
zprava = 0
posun = int(input("Zadejte číslo o kolik se má šifra posouvat: "))

for znak in retezec:
    i = ord(znak)
    i = i + posun
    if (i > ord(z)):
        i = i - 26
    znak = chr(i)
    zprava = zprava + znak
print("Zašfrovaná zpráva: ", zprava)

znovu = input("Znovu? A/N")
if(znovu == "A" or "A"):
    sifra()
elif(znovu == "N" or "n"):
    sys.exit(0)
else:
    pass

此代码工作...打开后,它显示窗口,当我可以输入单词然后它确实凯撒密码,但我没有机会看到结果,因为它关闭如此之快。

retezec = input("Zadejte slovo: ")
print("Zadali jste slovo: ",retezec)
zprava = 0
posun = int(input("Zadejte číslo o kolik se má šifra posouvat: "))

for znak in retezec:
    i = ord(znak)
    i = i + posun
    if (i > ord(z)):
        i = i - 26
    znak = chr(i)
    zprava = zprava + znak
print("Zašfrovaná zpráva: ", zprava)

那么如何让这段代码可以重复使用呢?

编辑:当我在cmd中运行它时会说:NameError:名称'z'未定义

2 个答案:

答案 0 :(得分:0)

您可能只需要让程序窗口保持打开状态,直到您可以检查结果。但是你的问题是在程序到达结束后继续运行程序,所以这就是答案:

  1. 打开Windows命令窗口(“CMD提示”)。

  2. 通过显式调用python解释器运行程序,并添加-i标志:

    C:\> python -i program.py
    
  3. 程序运行并到达脚本末尾后,您将获得一个可以访问所有变量的交互式提示。您现在可以对环境执行任何操作,例如,重新运行sifra()

  4. 另一种方法:使用IDLE,python的默认编辑器打开你的程序,然后在解释器窗口中运行它。效果会一样。

答案 1 :(得分:0)

问题出现在变量zprava的类型中..应该是zprava =“”而不是zprava = 0 并且在if(i> ord(z))中缺少引号: - > if(i> ord(“z”)):

但有一件事仍然无效就是结束程序..为什么sys.exit()不起作用?