如何使Python程序再次执行自身?

时间:2019-06-15 02:38:30

标签: python python-3.x input

我是Python的新手,我正在尝试编写一个程序,该程序一直运行以请求新的输入。我想创建一个文件,以便它打开命令提示符,要求用户输入一些值。用户插入输入,程序返回答案,然后重新启动,因此用户将能够插入新输入以获得新答案。直到用户关闭命令窗口为止。

我创建了一个代码,该代码为我提供了公历中任何日期的工作日。我使用John Conway的“世界末日算法”来编写程序。我运行它时效果很好。我创建了一个输入部分,程序在其中要求输入日,月和年。看我下面的代码:

#The first part of my doomsday algorithm here (this is to large to simple paste here).
#The last part is creating the last function, that will evaluate everything

def semana(d,m,a):

#definition of the function "semana". 
#I'm Brazilian and this is the portuguese word for "week". 
#Then I insert the input strings here:

x=eval(input("Dia:"))
y=eval(input("Mês:"))
z=eval(input("Ano:"))

semana(x,y,z)

我在命令提示符下运行该程序,然后输入变量xyz的值,按Enter键,程序显示正确的答案,但是终止答案出现后立即显示。

我想知道如何使程序在同一窗口中重新启动。我的意思是:我插入xyz的值。然后按Enter键,程序将显示答案。然后它再次要求输入,这样我就可以继续插入值并接收工作日作为答案。

谢谢!

1 个答案:

答案 0 :(得分:1)

您要寻找的是while循环。只要条件为True,此控制结构就可以执行一组语句。如果条件变为False,我们就会跳出循环。

# -*- encoding: utf-8 -*-

def semana():
    x=input("Dia:")
    y=input("Mes:")
    z=input("Ano:")
    print('{}/{}/{}'.format(x,y,z))

while True:
    semana()

示例输出

Dia:6
Mes:14
Ano:2019
6/14/2019