我必须创建一个允许用户输入字符串的程序,然后使用范围,程序向后输出相同的字符串。我把它输入python,但它给我一个错误,在第4行,它说'int' object has no attribute '__getitem__'
。
有人可以帮我纠正吗? (使用范围)
user=raw_input("Please enter a string: ")
user1=len(user)-1
for user in range(user1,-1,-1):
user2=user[user1]
print user2
答案 0 :(得分:3)
我认为你有一个错误,因为你一直使用相同的词来描述非常不同的数据类型。我会使用更具描述性的命名方案:
user = raw_input("Please enter a string: ")
user_length = len(user)
for string_index in range(user_length - 1, -1, -1):
character = user[string_index]
print(character)
例如,如果用户输入为foo
,则输出:
o
o
f
答案 1 :(得分:0)
您正在用for-loop覆盖用户字符串,通过更改for循环变量来修复它
修正:
for ind in range(user1,-1,-1):
user2 = user[ind]
print (user2)
替代方案(没有for-loop):
print user[::-1]
答案 2 :(得分:0)
这是因为你用user
行中的int覆盖字符串for user in range(...)
也许你最好还是选择:
user=raw_input("Please enter a string: ")
for user1 in range(len(user)-1,-1,-1):
user2=user[user1]
print user2
答案 3 :(得分:0)
您的user
已被for循环覆盖。拿这个(使用范围)
user=raw_input("Please enter a string: ")
print ''.join([user[i] for i in range(len(user)-1, -1, -1)])
答案 4 :(得分:0)
Python 3解决方案:
user=input("Please enter a string: ")
for ind in range(1,len(user)+1):
char = user[-ind]
print(char)
另一个非for循环解决方案是:
''.join(reversed(user))