e接awa接外圈刮 发表于 2023-11-9 20:13:43

小甲鱼课后题目的大问题

temp = input('请输入:')
l = len(temp)
i = 0
a = ord('a')
b = [ ]
while i < l:
    if temp.isalpha():
   b.append(temp)
    else:
      num = a.index(temp)
      num2 = (num + temp)%26
      b.append(a.pop(num2 + 1))
    i += 1
print(b)

# 给定的字符串 s 是按照如下规则存放的:它的偶数下标为小写英文字母,奇数下标为正整数.
# 题目要求:编写代码,将奇数下标的数字转换为相对于上一个字母偏移后的字母。
我这道题的思路是利用下标来进行转换但是不知道为什么没有想要的效果

isdkz 发表于 2023-11-9 20:14:07

问题出在这一行代码上:

num2 = (num + temp[ i])%26


这里的 temp[ i] 是一个字符串类型,而 num 是一个整数类型。在Python中,字符串和整数不能直接相加。所以你需要将 temp[ i] 转换为整数类型。

你可以使用 int() 函数将字符串转换为整数,修改代码如下:

num2 = (num + int(temp[ i])) % 26


这样就可以得到你期望的效果了。

jackz007 发表于 2023-11-9 20:42:32

temp , b = input('请输入:') . strip() , ''
for k in range(0 , len(temp) , 2) :
    x = (ord(temp) - ord('a') + int(temp)) % 26
    b = b + temp + chr(ord('a') + x)
print(b)
    运行实况:
D:\\Python>python xx.py
请输入:a1a2a3
abacad

D:\\Python>

e接awa接外圈刮 发表于 2023-11-10 16:26:12

isdkz 发表于 2023-11-9 20:14
问题出在这一行代码上:




{:9_228:}谢谢大佬

e接awa接外圈刮 发表于 2023-11-10 16:27:36

jackz007 发表于 2023-11-9 20:42
运行实况:

你这个好厉害,我琢磨一下,感觉都看过但放在一起,这种排列形式我没见过
页: [1]
查看完整版本: 小甲鱼课后题目的大问题