<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 2.6.1 數據的輸入 有的程序處理的是靜態數據,即在程序運行之前數據已準備好。這時我們可以預先將數據存儲在變量之中,并且能夠針對數據的特性來選用合適的處理命令。例如,已知 Lucy 在 2012 年是 7 歲,則可編寫下面的程序來顯示 Lucy 的出生年份信息: 【程序 2.1】eg2_1.py ``` name = "Lucy" age = 7 birthYear = 2012 - age ``` print name,"was born in",str(birthYear)+"." 程序中,預定的數據分別存儲在變量 name 和 age 中,利用算術表達式 2012-age 求得出 生年份,利用 str 函數將年份轉換成字符串類型,利用字符串合并運算+為輸出信息添上句 點。運行此程序,無需用戶參與即可直接得到下面的結果: ``` Lucy was born in 2005. ``` 而另一些程序要處理的數據則是在執行程序時由用戶提供的。用戶提供數據的方式有多 種,其中最簡單的方式是在程序中使用輸入語句,其他方式包括在啟動程序時以命令行參數 的方式傳遞數據或在圖形用戶界面中利用輸入構件來提供數據。在此我們討論最簡單的輸入 語句方式。 Python 中提供了 input()函數用于輸入數據,該函數通常的使用方式如下: ``` <變量名> = input(<提示字符串>) ``` 執行時首先在屏幕上顯示提示字符串,然后等待用戶輸入(以回車鍵表示輸入完畢),并將 用戶輸 入作為一個表達式進行解釋、求值,最后將求值結果賦予變量。例如: ``` >>> x = input("請輸入: ") 請輸入: 123 >>> x 123 >>> x = input("請輸入: ") 請輸入: 1+2 >>> x 3 ``` 可見,當用戶連續按下數字鍵 1、2、3、回車鍵之后,input 函數將 123 視為表達式進行求 值,結果即數值 123。而當用戶按下數字鍵 1、加號鍵+、數字鍵 2、回車鍵之后,input 將 1+2 視為表達式進行求值,結果為數值 3。 當然,作為一個函數,input 也可以直接用在表達式中,其作用相當于一個值。例如: ``` >>> 3 + input("請輸入:") 請輸入:4 7 ``` input 不僅能接收數值類型的表達式,也能接收其他類型的表達式。例如: ``` >>> x = input("請輸入: ") 請輸入: "123" >>> x '123' >>> x = input("請輸入: ") 請輸入: "1"+"2" >>> x '12' >>> x = input("請輸入: ") 請輸入: True and False >>> x False ``` 可見,當用戶連續按下引號鍵"、數字鍵 1、2、3、引號鍵"、回車鍵之后,input 將"123" 視為表達式進行求值,得到的結果即為字符串"123"。而當用戶連續按下引號鍵"、數字鍵 1、引號鍵"、加號鍵+、引號鍵"、數字鍵 2、引號鍵"、回車鍵之后,input 將"1"+"2" 視為字符串運算表達式進行求值,得到結果"12"。第三個輸入例子是布爾表達式,結果是 顯然的。 下面我們將程序 2.1 改寫成另一版本:由用戶輸入姓名和年齡,然后計算出生年份。 【程序 2.】eg2_2.py ``` name = input("Name: ") age = input("Age: ") birthYear = 2012 - age print name,"was born in",str(birthYear)+"." ``` 以下是程序 2.2 的一次執行示例: ``` >>> import eg2_2 Name: "Lucy" Age: 7 Lucy was born in 2005. ``` 從上面的例子可以看到,input 函數在輸入數值型數據時很方便,但在接收字符串類 型的數據時有點麻煩,因為要為字符串數據加上引號。如果不加引號,input 會將輸入的 字符串解釋為變量名,以便構成合法的表達式。除非程序中定義過該變量,否則會導致“變 量未定義”的錯誤。例如: ``` >>> x = input("請輸入:") 請輸入:Lucy Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> x=input("請輸入:") File "<string>", line 1, in <module> NameError: name 'Lucy' is not defined >>> Lucy = 7 >>> x = input("請輸入:") 請輸入:Lucy >>> x 7 ``` 其實,Python 還提供了另一個輸入函數 raw_input(),它用于字符串數據輸入時更方 便。raw_input 函數通常的使用方式如下: &lt;變量名&gt; = raw_input(&lt;提示字符串&gt;) 執行時首先在屏幕上顯示提示字符串,然后等待用戶輸入(以回車鍵表示輸入完畢),用戶 鍵入的所有內容視為一個普通的字符串而不是表達式,該字符串就是 raw_input 的返回 值,可以賦值給其他變量。例如: ``` >>> x = raw_input("請輸入:") 請輸入:hello world >>> x 'hello world' ``` 可見,raw_input 將用戶鍵入的所有字符構成一個字符串并作為函數的返回值。因此,用raw_input 輸入字符串時不需要加引號,比 input 略為方便些。 同樣可以將 raw_input 函數直接用在某個表達式中,其作用相當于一個字符串。例如: ``` >>> 2 * raw_input("請輸入:") 請輸入:Hello 'HelloHello' ``` input 與 raw_input 的比較 根據上面的介紹可知,如果需要輸入數值或數值表達式,最好用 input;如果需要輸入字符串,最好使用 raw_input。但這不是絕對的,實際應用中經常也用 raw_input 輸入數值數據,具體做法是:先作為字符串輸入,然后通過類型轉換函數(int、long、float)或 eval 函數來將字符串轉換成數值。例如: ``` >>> x = int(raw_input("Please enter a number: ")) Please enter a number: 123 >>> x + 456 579 ``` 例中 raw_input 所接收的輸入字符串被 int 函數轉換成整數類型。這看起來比直接使用 input 來輸入數值麻煩,但 raw_input 有個好處是能處理空輸入的情況(即用戶直接按 回車鍵),而使用 input 時空輸入會導致錯誤。試比較: ``` >>> x = input("Press Enter: ") Press Enter: Traceback (most recent call last): File "&lt;pyshell#15&gt;", line 1, in &lt;module&gt; x = input("Press Enter: ") File "&lt;string&gt;", line 0 ^ SyntaxError: unexpected EOF while parsing >>> x = raw_input("Press Enter: ") Press Enter: >>> x '' ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看