Python - 无法弄清楚如何重新运行我的程序

时间:2016-02-11 20:14:54

标签: python

我一直在努力弄清楚如何重新执行此代码。我发现的任何东西都没有用。如果有办法在没有完全重写的情况下完成它就会很棒。我花了很多时间才开始工作。

def oddsquare(numbers):
for n in numbers:
    if n % 2 == 1:
        print n**2,
else:
    return ""

startingnumber1 = int(raw_input('Enter your starting number:'))
endingnumber = int(raw_input('Enter your ending number:')) + 1

list1 = range(startingnumber1, endingnumber)
oddsquare(list1)

3 个答案:

答案 0 :(得分:1)

我认为你处于初级阶段。假设这个我会回答你。 当你从else语句返回时,循环结束,这就是你觉得“重新运行”它的原因

更正代码

setlocale(LC_ALL, "Chinese-simplified");

如果您不使用python3及更高版本,我会建议您再一次,代表我, 要输入整数,您可以使用def oddsquare(numbers): for n in numbers: if n % 2 == 1: print n**2 startingnumber1 = int(raw_input('Enter your starting number:')) endingnumber = int(raw_input('Enter your ending number:')) + 1 list1 = range(startingnumber1, endingnumber) oddsquare(list1) 代替input()

因此代码的输入行变为:

raw_input()

答案 1 :(得分:0)

好吧,如果你想要一些非常简短的东西,你可以将execfile(__file__)放在程序的最后。你可能应该做一些错误测试,所以我觉得它看起来更像是这样:

try:
    execfile(__file__)
except (KeyboardInterrupt, EOFError) as e:
    pass

答案 2 :(得分:0)

如果你定义了重新运行会更容易,但你可以把它全部放在while循环中,如下所示:

Private Sub NAV_VE124_Click()
    'Open the picture in its description field
    Call ShowPic(Me.NAV_VE124.Description)
End Sub 

如果您需要停止循环,只需使用“break”。

另外,正如评论中的人所提到的那样,不需要其他,这实际上会破坏你的代码,因为如果它不等于1,它将不会返回任何内容,所以除非它与每个数字分开,否则它将失败。