我一直在努力弄清楚如何重新执行此代码。我发现的任何东西都没有用。如果有办法在没有完全重写的情况下完成它就会很棒。我花了很多时间才开始工作。
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)
答案 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,它将不会返回任何内容,所以除非它与每个数字分开,否则它将失败。