2012-11-03 111 views
1
print "i'm going to calculate minutes for you \n" 

print "enter the amount of minutes for your introduction" 
intro_minutes = int(raw_input('# ')) 

print "enter the amount of seconds for your introduction" 
intro_seconds = int(raw_input('# ')) 

print "your introduction is " (intro_seconds + (60 * intro_minutes)) " seconds long." 

我正在創建此計劃以計算我必須發表的演講。我得到的錯誤是:如何一次打印多個項目

File "speech.py", line 9 
    print "your introduction is " (intro_seconds + (60 * intro_minutes)) " seconds long.) 

SyntaxError: invalid syntax 

回答

5

一個解決方案是連接你要打印的字符串:

print "your introduction is " + str(intro_seconds + (60 * intro_minutes)) + " seconds long." 

注到str()額外的呼叫你的電話號碼轉換爲字符串,像Python如果你嘗試向一個字符串添加一個數字會出錯(因爲它不清楚你想要什麼)。

這種級聯是有點醜的,所以你可能需要使用字符串,而不是格式化:

print "your introduction is {0} seconds long.".format(intro_seconds + (60 * intro_minutes)) 
+1

我'不確定'需要連接'是否正確的措辭...只要獲得適合打印的語法就可以工作,而不必創建一個新的字符串 –

+0

@JonClements這是真的,它絕對是一種有效的方式 - 我只是傾向於不要這樣做自己,所以沒有想到它。 –

1

需要conactenate字符串:

print "your introduction is " + str(intro_seconds + (60 * intro_minutes)) + " seconds long." 

或:

print "your introduction is %d seconds long." % (intro_seconds + (60 * intro_minutes)) 
1

您應該使用逗號分隔打印中的值:

print "your introduction is ", (intro_seconds + (60 * intro_minutes)), " seconds long." 
2

你需要以某種方式連接你想要打印的不同部分。最簡單的方法做,在你的情況是添加一個逗號:

print "your introduction is", (intro_seconds + (60 * intro_minutes)), "seconds long." 

當然,更多的「傳統」的方式來做到這一點是做字符串連接:

print "your introduction is " + str(intro_seconds + (60 * intro_minutes)) + " seconds long." 
+0

非常感謝!我選擇了前一種選擇。 –

+0

+1,傳遞多個參數(很好,不是在2.x中,因爲它不是一個函數,但你明白我的意思),這是一個有效的方法。 –

1
print "your introduction is %s seconds long" % (intro_seconds + (60 * intro_minutes))