我试着写一个程序,从输入的字母中构造新词,反之亦然
# vise versa
print ("word vise versa")
word = input("Input your text ")
new_word = ""
while word:
position = len(word) - 1
for letter in word:
new_word += letter[position]
position -= 1
print(new_word)
总是有错误
Traceback (most recent call last):
File "4_2.py", line 9, in <module>
new_word += letter[position]
IndexError: string index out of range
我做错了什么? 谢谢!你知道吗
首先,在您的代码中,如果您的输入不是None或False值,那么您的循环将永远运行,因为word不是False值。你知道吗
第二,可以使用字符串的反向切片或如下所示的列表:
raw_input
方法从用户处获取输入字len
方法获取输入字的长度。你知道吗while
循环在新变量中添加字符。你知道吗将长度变量递减
1
输出:
使用
slice
。你知道吗更多信息https://docs.python.org/2/whatsnew/2.3.html#extended-slices
问题可能是你在下面几行所做的
其中字母是单词中的每个字母,如果单词是
abc
,则首先是“a”,然后是“b”,然后是“c”。在seconds字符串上,您试图使用字母“a”作为数组,这是不好的。您可能希望偏移到单词数组中?你知道吗相关问题 更多 >
编程相关推荐