2011-10-28 75 views
0

我試圖做從教程,是定義將重複輸入的單詞的輸入次數的功能任務,所以到目前爲止,我有:定義一個函數重複字

s = raw_input("Enter a word:") 
n = input("Enter a number:") 

def repeat_this(s, n): 
    print s * n 

但是s和n沒有在repeat_this本地定義,但是當我在函數中定義s和n時,我無法讓用戶輸入工作,任何人都可以提供有關如何使其工作的任何提示?

N.B.當我運行包含這個文件的文件時,它接受s和n的輸入,但是留下一個空行並開始一個新的空行,在這裏重複 - 沒有定義。

+0

你在哪裏調用該函數/ method - repeat_this(s,n)並傳遞值? 您需要調用該函數才能打印輸出。 – srock

回答

2

你沒有調用該函數。這增加了腳本的末尾:

repeat_this(s, n) 

而且,你的投入都應該raw_input()(強制使用int(),而不是危險的,允許Python來分析它的整數),並可能應該去函數定義如下(它會以任何方式工作,但將所有腳本內容放在函數和全局變量定義下方的樣式會更好)。全部放在一起:

def repeat_this(s, n): 
    print s * n 

s = raw_input("Enter a word:") 
n = int(raw_input("Enter a number:")) 
repeat_this(s, n) 
+0

@kindall好點,做得好,我不希望有人現在進入浮動我會哈哈,謝謝你的幫助,非常感謝。 –

+0

@RayToal沒有贏家,我會誠實地看到你的第一個,並且當你刪除帖子時即將發表評論! –

+1

不僅有人可以輸入一個浮點數,但他們可以輸入一個列表,一個字典,一個集合,'__import __(「sys」)。exit(1)'(從而退出整個Python解釋器)或任何其他合法的Python表達式,其中許多可以做你可能不想做的事情。 – kindall

0
從嵌入式打印

除此之外,您repeat_this()功能是有效的乘法運算符,它可以作爲一個函數在它自己的:

from operator import mul 

s = raw_input("Enter a word:") 
n = input("Enter a number:") 

print mul(s, n) 
相關問題