PIXEL-TAPE 发表于 2023-3-6 18:54:01

不解

代码如下。问题是当我输入这一段字符‘02YxsejOI3’,给出了这个结果:20xYesOj3I3

o=[]
q=input("enter:")
w=int(len(q)/2)
u=0
s=0
for i in range(w):
    t=q
    o.append(t)
    t=q
    o.insert(s,t)
    u+=2
    s+=2
#以上代码是字符串隔一个取出并组成一个新的列表
if w%2==1:
    o.append(q[-1])
#上面代码只能实现偶数取出组合,所以这个代码用字符串的长度来判断奇偶,并直接添加字符串最后一位数
e=''.join(o)
print(e)

PIXEL-TAPE 发表于 2023-3-6 18:54:34

这个3怎么来的让我摸不着头脑

PIXEL-TAPE 发表于 2023-3-6 19:05:05

自己优化解决了

PIXEL-TAPE 发表于 2023-3-6 19:12:05

嚓,自己搞了一下又搞不懂了。那个奇数问题还是不能解决

chinajz 发表于 2023-3-8 05:50:54

本帖最后由 chinajz 于 2023-3-8 06:17 编辑

o = []
q = input("enter:")
w = int(len(q)/2)
u = 0
s = 0
for i in range(w):
    t = q
    o.append(t)
    t = q
    o.insert(s, t)
    u += 2
    s += 2
    # 以上代码是字符串隔一个取出并组成一个新的列表
if len(q)%2:   #这里修改,或者修改为iflen(q)/2-w:   
    o.append(q[-1])
# 上面代码只能实现偶数取出组合,所以这个代码用字符串的长度来判断奇偶,并直接添加字符串最后一位数
e = ''.join(o)
print(e)

chinajz 发表于 2023-3-8 06:04:46

W 已经取w = int(len(q)/2)整数,再来取模判断,结果就不正确了。

PIXEL-TAPE 发表于 2023-3-8 11:56:23

chinajz 发表于 2023-3-8 06:04
W 已经取w = int(len(q)/2)整数,再来取模判断,结果就不正确了。

谢谢大佬
页: [1]
查看完整版本: 不解