def FirstReverse(str):
chaine = str.split(' ');
for i in range(len(chaine), -1):
inverse = chaine[i]
return inverse ;
print FirstReverse(raw_input())
我想反转一个字符串,但我有一些困难,我收到此错误信息
UnboundLocalError:在赋值之前引用的局部变量'inverser'
答案 0 :(得分:2)
您需要将负步骤参数传递给范围以获得反转范围列表。
range(len(chaine)-1, -1, -1) #start from len(chaine)-1
因为range(len(chaine), -1)
返回[]
,循环永远不会执行,inverse
永远不会被定义。
对字符串进行反转的最简单方法是使用扩展切片表示法[::-1]
。
答案 1 :(得分:1)
您的for语句始终为false,只有在满足for循环条件时才会初始化inverse,因此代码不会到达inverse获取值的位置(并且由此得到定义/绑定)。您应该在始终执行的位置引入变量。
答案 2 :(得分:0)
更好地撤消列表的方法是使用to use slice notation a step of -1
{/ 3>}
def FirstReverse(s):
words = s.split(' ')
return words[::-1]
str
是内置的Python,避免重复使用