在 Python 中反向打印列表
Printing a List in reverse in Python
你好(这是我在网站上的第一个问题,如果我没有遵守规则,我深表歉意)
下面是我编写的两个代码(使用 for 循环),用于打印用户输入的字符串的反向。一个代码给我一个错误,另一个工作正常。我不明白为什么。为什么函数 "range" 似乎有所不同?感谢有人可以帮助我理解逻辑 - 非常感谢
代码 1:这给了我错误:
string = input('Enter a Word ')
length = len(string)
reverse = []
for i in string:
x=string [-1-i]
reverse.append(x)
print (reverse)
*输入一个词Python
TypeError Traceback(最后一次调用)
在
4个
5 为我在字符串中:
----> 6 x=字符串 [-1-i]
7 reverse.append(x)
8个
TypeError:- 不支持的操作数类型:'int' 和 'str'
代码 2:这很好用
string = input('Enter a Word ')
length = len (string)
reverse = []
for i in range(length):
x=string [-1-i]
reverse.append(x)
print (reverse)
*输入一个词Python
['n', 'o', 'h', 't', 'y', 'P']*
对于 for i in string
,i
将取字符串中每个字符的值,例如'H'
、'e'
、'l'
、'l'
、'o'
如果输入是 'Hello'.
当您调用 string[-1-i]
时,Python 试图从数字中减去一个字符串,这就是您收到错误 unsupported operand type(s) for -: 'int' and 'str'
.
的原因
您正在做的第一个循环是为您的字符串创建一个 foreach 循环,因此您的 "i" 基本上是一个字符。你知道还有一个函数叫做"reverse()"吗?
你可以很容易地制作一个reverse
函数-
def reverse(word = ""):
return word if len(word) < 2 else reverse(word[1::]) + word[0]
myword = "bookkeepper"
print(myword+reverse(myword))
# bookkeepperreppeekkoob
你好(这是我在网站上的第一个问题,如果我没有遵守规则,我深表歉意) 下面是我编写的两个代码(使用 for 循环),用于打印用户输入的字符串的反向。一个代码给我一个错误,另一个工作正常。我不明白为什么。为什么函数 "range" 似乎有所不同?感谢有人可以帮助我理解逻辑 - 非常感谢
代码 1:这给了我错误:
string = input('Enter a Word ')
length = len(string)
reverse = []
for i in string:
x=string [-1-i]
reverse.append(x)
print (reverse)
*输入一个词Python
TypeError Traceback(最后一次调用) 在 4个 5 为我在字符串中: ----> 6 x=字符串 [-1-i] 7 reverse.append(x) 8个 TypeError:- 不支持的操作数类型:'int' 和 'str'
代码 2:这很好用
string = input('Enter a Word ')
length = len (string)
reverse = []
for i in range(length):
x=string [-1-i]
reverse.append(x)
print (reverse)
*输入一个词Python
['n', 'o', 'h', 't', 'y', 'P']*
对于 for i in string
,i
将取字符串中每个字符的值,例如'H'
、'e'
、'l'
、'l'
、'o'
如果输入是 'Hello'.
当您调用 string[-1-i]
时,Python 试图从数字中减去一个字符串,这就是您收到错误 unsupported operand type(s) for -: 'int' and 'str'
.
您正在做的第一个循环是为您的字符串创建一个 foreach 循环,因此您的 "i" 基本上是一个字符。你知道还有一个函数叫做"reverse()"吗?
你可以很容易地制作一个reverse
函数-
def reverse(word = ""):
return word if len(word) < 2 else reverse(word[1::]) + word[0]
myword = "bookkeepper"
print(myword+reverse(myword))
# bookkeepperreppeekkoob