Python 从While循环创建语句并打印
你好。我在编码方面已经有几天了,我不确定我试图创建的内容是否不可能,但如果可以的话,请提供帮助 运行此语句时:Python 从While循环创建语句并打印,python,loops,while-loop,printing,Python,Loops,While Loop,Printing,你好。我在编码方面已经有几天了,我不确定我试图创建的内容是否不可能,但如果可以的话,请提供帮助 运行此语句时: i=1 而我
i=1
而我<20:
印刷品(一)
i+=1
数字由列表打印<代码>1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19
我想创建一个单一的数字,它是过去2个打印数字+当前数字的组合,并在每次旋转时为其指定字母a
。例如,在打印1
后,没有过去的2个数字,因此在打印2
后a=invalid
,因为没有过去的2个数字,所以在打印3
后,a=123
。打印4
后,a=234
。打印5
后,a=345
依此类推
我决定使用存储结果的方法,而不是依赖于算术的解决方案,因为我的实际问题与我在这里写的不同
i=1
数字存储=[]
而i您可以使用来格式化结果:
i = 1
past = 2
while i < 20:
if i > past:
print(f'{i-2}{i-1}{i}')
i += 1
此处arr将包含您需要的所有内容
arr=[]
i=1
while i<20:
if (i-2<=0):
a="invalid"
print(a)
arr.append(a)
i=i+1
else:
a=str(i-2)+str(i-1)+str(i)
arr.append(a)
i=i+1
print(arr)
arr=[]
i=1
而我一种方法是将3个数字存储在一个列表中。
在每一个循环(圈)中,新的数字都会被添加到列表中,如sostoraged\u numbers.append(str(i))
如果列表长度超过3个元素,则删除第一个元素,如下所示
if len(stored_numbers) == 4:
del stored_numbers(0)
然后,您可以使用print(''.join(存储的\u编号))
然而,由于您的示例只要求增量为1,因此您可以使用一些算术运算
i = 3
while i < 20:
print((i-2)*100+(i-1)*10+i)
i += 1
请使用您尝试过的代码更新您的问题。创建一个列表,将当前数字推到末尾,如果大小大于3,则从开头弹出一个元素。您可以计算最后的数字,例如i-1
,也可以将其保存在变量中,例如last1=i
谢谢您的回答。不幸的是,我的支持票不能被记录下来,因为我的声望还不到15。但有一个问题,您给我的用于打印串联列表的代码返回错误:“序列项0:expected str instance,int found”正确。我应该先把数字转换成字符串。让我编辑答案(参见第一行代码,即我们附加到列表中的代码)哦,再次感谢。照你说的做,结果很完美。
i = 3
while i < 20:
print((i-2)*100+(i-1)*10+i)
i += 1
for i in range(3,21):
print((i-2)*100+(i-1)*10+i)
# i += 1 /No need for this, since i is incremented by the for loop