我的程序从用户接收消息并使用for循环向后打印

时间:2014-03-18 03:35:50

标签: python

我遇到了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: ')

2 个答案:

答案 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]来反转输入字符串。