如何解决生成具有重复模式的序列的代码
- x=1 : 1,3,5,7
- x=2 : 1,7,9,11,13
- x=3 : 1,13,15,17,19,21
- x=4 : 1,21,23,25,27,29立>
- x=5 : 1,29,31,33,35,37,39
在继续 +2 的事情之前,我遇到了模式从旧模式重复自身的问题。
这是我的代码,它以一种奇怪的方式执行 +2 操作,因为我一直在尝试重复操作:
def sequence(number):
result = 1
minus = 2
for i in range(1,number+1):
for j in range(1,i+4):
print(result)
result += 2
if i%2==0:
minus += 1
result -= minus
解决方法
为什么不在外循环结束时显式地减少结果?
def sequence(number):
result = 1
for i in range(1,number+1):
for j in range(1,i+4):
print(result,end=' ')
result += 2
result -= 4
print()
如果您使用数字 1 到 5 调用它,则会产生以下结果。但是,假设您希望在每次迭代中将序列增加一项。您的代码表明了这一点,但后两种情况下的示例有所不同。如果示例正确,则必须从第三步开始保持 i 范围不变。
1 3 5 7
1 3 5 7 5 7 9 11 13
1 3 5 7 5 7 9 11 13 11 13 15 17 19 21
1 3 5 7 5 7 9 11 13 11 13 15 17 19 21 19 21 23 25 27 29 31
1 3 5 7 5 7 9 11 13 11 13 15 17 19 21 19 21 23 25 27 29 31 29 31 33 35 37 39 41 43
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。