求助
#kaisha.pycontent = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
content2 = content.lower()
temp_str = input()
try:
for i in range(100):
if temp_str in content:
num = content.find(temp_str)
answer = content[(num+3)%26]
elif temp_str in content2:
num = content2.find(temp_str)
answer = content2[(num+3)%26]
elif temp_str == '\n':
None
else :
answer = temp_str
print('{}'.format(answer),end = '')
except Exception:
None
这串代码不加try,except打印flower is beautiful为什么会出现
iorzhu lv ehdxwlixoTraceback (most recent call last):
File "C:\Users\water\Desktop\新建文件夹\记忆\homework.py", line 16, in <module>
if temp_str in content:
IndexError: string index out of range
你 for 循环 i 从 0~99 ,当你 temp_str = input() 这里你 input 输入的字母个数小于 100
那么就会导致报错,索引值超出范围 IndexError
还有,建议论坛发代码时候点击 <> 按钮将代码拷贝进去,否则会将你代码中的 [ i] 给吞了
还有需要注意的是,input 是无法接收多行字符串的,当多行字符串拷贝到 input 时,只会算入一行
所以你代码中的第二个 elif temp_str[ i ] == '\n' 是多余的
参考代码:
content = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
content2 = content.lower()
temp_str = input()
try:
for i in range(len(temp_str)):
if temp_str in content:
num = content.find(temp_str)
answer = content[(num+3)%26]
elif temp_str in content2:
num = content2.find(temp_str)
answer = content2[(num+3)%26]
else:
answer = temp_str
print('{}'.format(answer),end = '')
except Exception:
pass
页:
[1]