2015-07-10 100 views
0

我想要做这个练习打印:转型列表为str和使用加入F(X)

编写一个字符串从用户Python程序,扭转它,然后打印出来。

我尝试了一些代码,但它不工作:

a = str(input("your str :")) 
x = [] 
for i in a : 
    x.append(i) 
x = x.reverse() 
b = " ".join(x) 
print(b) 

家伙代码b = " ".join(x):是从一个列表,改变为str。

的样子,当我用它在空闲

>>> a = ["khalid" ,"safi", "is", "programer"] 
>>> b = " ".join(a) 
>>> b 
'khalid safi is programer' 
>>> print(b) 
khalid safi is programer 
+1

你是怎么得到的输出,当你打印 – The6thSense

+0

回溯(至多r ecent call last): 文件“C:\ Users \ admin \ Desktop \ chap8ex2.py”,第6行,在 b =“”。加入(X) 类型错误:只能加入一个可迭代 –

回答

1

反向()就地工作,就意味着你不需要 X = x.reverse()

这将工作:

a = str(input("your str :")) 
x=[] 
for i in a: 
    x.append(i) 
x.reverse() 
b = " ".join(x) 
print(b) 

,但还是没有很好的办法扭转串

+0

它的工作,但它给与空间的结果 –

+0

使用此:b =“”.join(x) – zveryansky

+0

在“”之间你可以放置字符串,将分开“”,“;”或其他) – zveryansky

0

你可以只是做

a[::-1] 

要反转字符串

您的方法失败,原因是该行

x = x.reverse() 

list.reverse( )作用在名单上,更改列表是你不需要它,因为你赋予它X通过反向返回的值是无,因为它没有提供任何返回值,以便没有分配给另一个列表

保存在x中。

和你申请"".join(x) on a None object所以导致错误

2

您不必转换到一个列表。只需使用string[::-1]

或者,如果你只是想扭转的话,这样做:

a = str(input("your str :")) 
x=a.split()[::-1] 
print(" ".join(x)) 
+1

我知道这个方法,但我想用我的方法使用加入 –

+0

@khalidsafi的问题 – The6thSense

+0

是exe文件提供此信息看你有没有使用加入F(X) –

0

尝试

x = str(input("your str :")).split() 
x = x.reverse() 
b = " ".join(x) 
print(b) 
0

最好使用切片如果你是一个python2扭转单词列表..

*用户使用。

print " ".join(raw_input("plz enter str : ").split(" ")[::-1]) 

如果你是一个python3用户使用:

print(str.join(" ", input("plz enter str : ").split(" ")[::-1])) 
相关问题