求助,最后的奇数不会输出
我认为是range的范围问题,但我不会解决o=[]
q=input("enter:")
w=int(len(q)/2)
u=0
for i in range(w):
t=q
o.append(t)
#取第二个起,隔一个取
t=q
o.append(t)
#取第一个起,隔一个取
u+=2
print(o) o=[]
q=input("enter:")
w=int(len(q)/2)
u=0
for i in range(w+1): # 这里加一看看
t=q
o.append(t)
#取第二个起,隔一个取
t=q
o.append(t)
#取第一个起,隔一个取
u+=2
print(o) isdkz 发表于 2023-3-6 19:31
不行,报错了
raceback (most recent call last):
File "D:\+.py", line 6, in <module>
t=q
IndexError: string index out of range 这个代码是要干嘛的
为啥前面要加字符串
Weabu 发表于 2023-3-6 19:57
这个代码是要干嘛的
为啥前面要加字符串
一种加密方法 本帖最后由 chinajz 于 2023-3-6 21:42 编辑
要这样的运行结果:
enter:123456789
['2', '1', '4', '3', '6', '5', '8', '7', '9']
#coding:gbk
o=[]
q=input("enter:")
w=int(len(q)/2)
u=0
for i in range(w):
t=q
o.append(t)
#取第二个起,隔一个取
t=q
o.append(t)
#取第一个起,隔一个取
u+=2
if len(q)/2-w:
o.append(q)
print(o)
chinajz 发表于 2023-3-6 20:38
运行未发现问题:
你倒是加上9啊,我说了是奇数问题 本帖最后由 isdkz 于 2023-3-7 21:55 编辑
PIXEL-TAPE 发表于 2023-3-6 20:40
你倒是加上9啊,我说了是奇数问题
你是想要这种效果?
代码修改如下:
o=[]
q=input("enter:")
l = len(q)
w=int(l/2)
u=0
for i in range(w):
t=q
o.append(t)
#取第二个起,隔一个取
t=q
o.append(t)
#取第一个起,隔一个取
u+=2
print(o)
if l % 2:
o.append(q[-1])
print(o)
效果:
enter:123456789
['2', '1']
['2', '1', '4', '3']
['2', '1', '4', '3', '6', '5']
['2', '1', '4', '3', '6', '5', '8', '7']
['2', '1', '4', '3', '6', '5', '8', '7', '9'] isdkz 发表于 2023-3-6 21:26
你是想要这种效果?
代码修改如下:
{:10_266:}突然大无语,我之前也是像你这么写的。但我的还是出问题。 谢谢大佬们
页:
[1]