2013-02-21 70 views

回答

2
name = raw_input('What is your name? ') 
age = raw_input('How old are you, %s? ' % name) 

或者:

name = raw_input('What is your name? ') 
age = raw_input('How old are you, {}? '.format(name)) 

raw_input功能無法獲得超過1個論點。我們可以通過使用字符串格式來解決這個問題(有關不同類型格式的信息,請參見herehere)。

另外,根據你想要做什麼,你可能也想把age轉換成一個整數。我們可以這樣做:

age = int(age) 

,但如果用戶輸入別的東西,像'foobar',那麼你會得到一個錯誤。您可以使用try/except塊和使用while循環來繞過此循環,以便循環,直到獲得有效數字。

name = raw_input('What is your name? ') 
while True: 
    age = raw_input('How old are you, {}? '.format(name)) 
    try: 
     age = int(age) 
     break 
    except ValueError: 
     print 'You entered an invalid age. Please try again.' 
0

始終使用類型轉換。不管怎樣,下面的代碼應該這樣做:

name = str(raw_input('Enter your name:')) 

string1 = 'Enter your age,' + name + ':' 

age = int(raw_input(string1)) 

正如你所看到的,我有什麼保存我想提示爲一個字符串名爲字符串1,然後我用它作爲參數的raw_input來。

raw_input只有一個參數。所以,你可以這樣做。

而我已經使用了python 2.7。如果您正在使用

+0

'raw_input'已經返回一個字符串 - 沒有必要再將其轉換爲字符串 – Volatility 2013-02-21 09:24:24

+0

先生,但這樣做可能是安全的。就好像我們不會在字符串周圍放置單引號,然後有時它會給出錯誤。 – IcyFlame 2013-02-21 09:29:10

+0

'raw_input'從不給出錯誤......(至少據我所知)。它只是返回用戶輸入的字符串。 – Volatility 2013-02-21 09:30:27

相關問題