2016-01-23 80 views
0

我對編碼非常陌生,所以我希望我的問題有意義/格式正確。Python無效的字符串語法?

這裏是我的代碼:

#this function takes a name and a town, and returns it as the following: 
#"Hello. My name is [name]. I love the weather in [town name]." 

def introduction("name","town"): 
    phrase1='Hello. My name is ' 
    phrase2='I love the weather in ' 
    return ("phrase1" + "name" + "phrase2" + "town") 

例如introduction("George","Washington")在python shell中會返回爲"Hello. My name is George. I love the weather in Washington."

我的問題是我的代碼沒有這樣做。相反,我得到以下錯誤:

Invalid syntax: <string> on line 1". In Wing101 **,"town"): 

下面有一個紅色的swiggle。我不知道我做錯了什麼......我知道「名稱」和「城鎮」是字符串而不是變量,但我真的不知道如何解決它。

任何幫助/意見表示讚賞。

+0

我建議你做一些關於如何定義函數的基礎研究,比如閱讀[官方教程中的相關部分](https://docs.python.org/3.4/tutorial/controlflow.html#defining-功能)。 – TigerhawkT3

+0

會這樣做,謝謝你。 –

回答

3

不能使用字符串文字作爲函數參數,no。您只能使用變量名稱。刪除所有雙引號:

def introduction(name, town): 
    phrase1='Hello. My name is ' 
    phrase2='. I love the weather in ' 
    return (phrase1 + name + phrase2 + town) 

您調用函數時傳遞的字符串:

introduction("George", "Washington") 

而這些則分別得到分配給nametown

+0

啊,我有很多東西要學!非常感謝你的幫助。 –