我遇到了for循环问题。对于范围内的计数器(mymessage)说它期望一个整数并得到一个字符串。
#Assign variables and get the word from user
mymessage = raw_input('Please enter your message: ')
back_message=''
counter = len(mymessage)
#For loop to reverse the word
for counter in range str(mymessage):
back_message += mymessage[counter-1]
counter -= 1
#Display reversed message
print"Your message backwards is :", back_message
raw_input('Please press enter to quit: ')
答案 0 :(得分:1)
反转弦的pythonic方式:
back_message=mymessage[::-1]
其他一切只是额外的功课;)
答案 1 :(得分:0)
首先,range
是一个函数。 range str(mymessage)
是一个错误。修复它,你得到range(str(mymessage))
,这会引发你在问题中提到的错误。
你应该做range(len(mymessage))
。修复它,仍然无法获得您正在寻找的输出。
请改为:
for counter in range(len(mymessage) - 1, -1, -1):
back_message += mymessage[counter]
循环从输入消息的最高索引(消息的长度-1)到0向后。
当然,您始终可以''.join(reversed(mymessage))
或mymessage[::-1]
来反转输入字符串。