python新版作业有一个小问题
小甲鱼老师你好,python 新版作业27讲最后一题答案错误,“请输入一个字符串:”的要求会与input()返回的字符串发生嵌套,所以答案说请输入一个字符串是不合理的,我们不希望得到一个嵌套的字符串源代码
s = input("请按规则输入一个字符串:")
length = len(s)
res = []
# 获取字母 a 的编码值
base = ord('a')
# 从第一个元素开始,每次迭代跳过一个元素
for i in range(0, length, 2):
# ord(s) - base 操作得到一个字母的偏移值,比如 b 就是 1
# 跟 26 求余数的作用是防止溢出,循环计算偏移
shift = chr((ord(s) - base + int(s)) % 26 + base)
print(s+shift, end="")
#我是初学者,如果发言失误,请谅解 你好!遇到这样的问题不要担心,我们来看看如何解决。
在这个问题中,input()函数返回的是一个字符串,所以在处理这个字符串时,我们不需要再嵌套一层字符串。在这里,你可以直接使用s来获取字符串s的第i个字符,而不是使用s作为整体进行操作。
下面是修正后的代码:
s = input("请按规则输入一个字符串:")
length = len(s)
res = ""
# 获取字母 a 的编码值
base = ord('a')
# 从第一个元素开始,每次迭代跳过一个元素
for i in range(0, length, 2):
# ord(s) - base 操作得到一个字母的偏移值,比如 b 就是 1
# 跟 26 求余数的作用是防止溢出,循环计算偏移
shift = chr((ord(s) - base + int(s)) % 26 + base)
res += s + shift
print(res)
现在,我们使用s获取字符串s的第i个字符,然后进行相应的操作。希望这个修正能够解决你的问题。如果你还有其他问题,欢迎继续提问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]