這裏相當簡單的問題。我正在構建一個hello世界程序的例子,它會在用戶輸入名字時向用戶打招呼,而不使用任何變量。我有嵌套在打印語句中的輸入
print('What is your name?')
print('Hello, ' +str(input()) + ', nice to meet you!')
它給出了所需的結果。爲什麼輸入語句儘管嵌套在print語句之前,在print語句之前執行''''?謝謝!
這裏相當簡單的問題。我正在構建一個hello世界程序的例子,它會在用戶輸入名字時向用戶打招呼,而不使用任何變量。我有嵌套在打印語句中的輸入
print('What is your name?')
print('Hello, ' +str(input()) + ', nice to meet you!')
它給出了所需的結果。爲什麼輸入語句儘管嵌套在print語句之前,在print語句之前執行''''?謝謝!
我想,你並不知道運營商的優先權。這裏你正在使用+運算符。
print('Hello, ' +str(input()) + ', nice to meet you!')
這裏,在執行打印之前準備好不同的操作數表達式。由於str(input())是一個函數表達式,因此必須首先對其進行求值,以便字符串連接發生。
在其他情況下,如階乘(sum(2,3))將導致階乘(5),因爲sum(2,3)將首先執行。 簡而言之,經驗法則是最內層的表達式首先從左到右進行評估。
3 * (2 + 2)
預期答案會是什麼?這是12,因爲括號內的部分首先被評估。
編程中也是如此。括號外的東西依賴於括號內的東西,所以括號內的東西首先被評估。
你爲什麼認爲嵌套在裏面意味着它會在稍後執行?如果'input'還沒有執行,你會期望print'打印嗎? – BrenBarn
因爲和數學一樣,括號內的東西在它們之外的東西之前被評估。 – Carcigenicate