3 回答
TA贡献1811条经验 获得超5个赞
twoexpoint - 1
是您需要的字符串相对于输入字符串的最后一个索引。所以你需要的是从该索引开始并减少。在你的 while 循环中:
letter = test[twoexpoint- number - 1]
每次增加迭代number
都会减少索引并反转字符串。
但这样你实际上并没有使用userstring
你已经找到的(除了长度......)。不用关心索引,只需反转userstring
:
for letter in userstring[::-1]: print(letter)
TA贡献1946条经验 获得超3个赞
说明我们使用正则表达式来查找模式,然后循环查找每个出现的情况,并用反转的字符串替换该出现的情况。我们可以在 python 中反转字符串mystring[::-1]
(也适用于列表)
import re # I recommend using regex
def reverse_string(a):
matches = re.findall(r'\!(.*?)\!', a)
for match in matches:
print("Match found", match)
print("Match reversed", match[::-1])
for i in match[::-1]:
print(i)
In [3]: reverse_string('test test !test! !123asd!')
Match found test
Match reversed tset
t
s
e
t
Match found 123asd
Match reversed dsa321
d
s
a
3
2
1
TA贡献1860条经验 获得超8个赞
你把事情想得太复杂了。不要理会索引,只需使用reversed()
onuserstring
循环遍历字符本身:
userstring = test[expoint+1:twoexpoint]
for letter in reversed(userstring):
print(letter)
或者使用反向切片:
userstring = test[twoexpoint-1:expoint:-1]
for letter in userstring:
print(letter)
添加回答
举报