2010-10-26 76 views
1

我的代碼如下:Python:如何打印由用戶輸入的文本?

#!/usr/bin/python 
#Filename:2_7.py 
text=raw_input("Enter string:") 
for ?? in range(??) 
    print 

例如,如果用戶輸入test text,我想test text要由該代碼在屏幕上打印。

爲了達到這個目的,我應該寫什麼而不是??

+0

你到底想要達到什麼目的? – pyfunc 2010-10-26 08:06:39

+0

-1:請提供您期望的輸入和輸出示例。 – 2010-10-26 08:11:33

回答

1

是否要將字符串拆分爲單獨的單詞並打印每個單詞?

例如

for word in text.split(): 
    print word 
在行動

Enter string: here are some words 
here 
are 
some 
words 
4

也許你想這樣的事情?

var = raw_input("Enter something: ") 
print "you entered ", var 

或者在Python 3.x的

var = input("Enter something: ") 
print ("you entered ", var) 
0

那麼,對於一個簡單的情況下,你可以嘗試:

for word in text.split(" "): 
    print word 

對於要使用常規的更復雜的情況下,表達式分配器:

for word in re.split("\W+", text): 
    if word != "": 
     print word 

前面的示例將作爲輸出"Hello, my name is Pax."

Hello, 
my 
name 
is 
Pax. 

而後者更準確地爲您提供:

Hello 
my 
name 
is 
Pax 

(你可以提高正則表達式,如果你有更多的優勢的情況下)。

+0

你爲什麼需要方括號? \ W +和[\ W] +?之間的區別是什麼?爲什麼你必須檢查「」? – ghostdog74 2010-10-26 08:22:30

+0

由於我正在檢查多個字符,因此我在之前的調用中留下了方括號。你說得對,在這種情況下他們不需要。我檢查一個空字符串的原因是因爲結束期。通過在'\ W +'上分割這個示例語句,最後得到一個空元素,或者如果您使用的是開頭有標點符號的其中一種語言,則開始。是? – paxdiablo 2010-10-26 08:24:36