亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中input()函數的用法實例小結

 更新時間:2022年03月14日 15:12:38   作者:Darknight:?:  
我們編寫的大部分程序,都需要讀取輸入并對其進行處理,而基本的輸入操作是從鍵盤鍵入數據,Python從鍵盤鍵入數據,大多使用其內置的input()函數,下面這篇文章主要給大家介紹了關于Python中input()函數用法的相關資料,需要的朋友可以參考下

一:input()函數的輸入機制

我們編寫的大部分程序,都需要讀取輸入并對其進行處理,而基本的輸入操作是從鍵盤鍵入數據。Python從鍵盤鍵入數據,大多使用其內置的input()函數。但是,不同于程序設計初學者常接觸的C和C++,我們不需要在輸入之時規(guī)定變量的類型。相反,我們可以非常便捷的使用a = input()對任何數據類型的變量a進行賦值,無論是int,float還是列表等等。但是這并不代表Python將程序員的判斷數據類型工作完全省去了,如果這樣想,那么在編程過程中很容易出現問題。我們知道,在對變量進行賦值時,Python會幫助判斷存儲數據的類型,不需要我們進行操作,但是input不是這樣。

首先,我們需要弄明白我們賦值的變量在python內部到底是以什么形式存在的。下面我將展示一個程序片段

那么我們可以看到,通過type()函數,我們看到無論我們輸入的值是int,float還是sring,最后input()函數返回的這個數據的類型均為string型。了解了這一點,將有利于我們更好的使用input()函數。因為在算術運算中,字符串是沒法直接和int或float數據進行算術運算的,如果直接使用,那么必然帶來TypeError報錯。

即使不報錯,我們使用兩個直接input()函數鍵入的數據進行計算,那么很可能是在對兩個字符串進行組合而不是算術運算

二:input()函數常涉及的強制類型轉換

所以,當我們使用input()函數輸入的數據進行算術運算時,我們大多需要使用強制類型轉換來允許我們計算。得益于Python便捷的數據類型轉換,我們可以十分方便的轉換數據類型。

第一種是在鍵入時進行轉換,例如:a = int(input())。這樣賦值的數據存儲的形式從一開始就是我們轉換的數據類型,與C語言,C++等無異。

第二種則是在使用時進行轉換。這樣賦值的數據存儲的形式仍是input()返回的字符串類型,僅僅在使用時轉換,會加大工作量,且有可能因為粗心帶來報錯,所以要謹慎使用。

三:帶提示的input()函數及其常見問題

在初見input()時,我發(fā)現了 variable = input(prompt)這個輸入格式,一下子驚如天人。覺得Python的input()函數的用戶交互真是友善,從此不再需要再像其他一些編程語言一樣單獨寫一個用戶提示語。以下面一個片段為例

可以看到,當我們敲擊Enter以后,屏幕上會顯示我們編寫的提示性語言,并等待用戶輸入。這樣給交互性程序編寫帶來了便利。

但是,我很快在使用variable = input(prompt)這個形式時遇到了問題,當我理所當然的把input(prompt)中的prompt當作print()函數使用時,我發(fā)現input()并不能將變量賦值返回給程序。也就是說,如果我們在input()的提示性語言中加入了變量,就很可能出錯,例如:

這個問題的原因是variable = input(prompt)是直接以字符串形式輸出提示性的prompt語言,不能像print()函數一樣將值賦給變量并輸出。那么這是不是意味著我們不能將變量加入其中呢?畢竟在很多循環(huán)中,提示性的語言是需要根據循環(huán)次數改變的。

那么實際上我們是可以加入的,解決方法就是上面講過的強制類型轉換,正因為我們已經知道input()以字符串形式輸出,所以需要我們將變量轉化成string型!但是,需要注意的是,使用的符號是用于字符串連接的“+”而不是分割字符串和變量的“,”——這里需要注意。

四:利用input()一次性輸入多個變量值

我們在編程的時候,常常需要一次性給多個變量賦值。在C語言和C++中,我們使用scanf("%d %d", &a,&b)這樣的方式進行輸入,其數據以空格為分界。那么在python中我們該如何一次性輸入多個值呢?

(1):利用split()函數進行輸入,同時,我們不僅可以利用split()函數一次性輸入多個數,我們還可以設置分隔符,除了傳統(tǒng)的空格形式,也可以用逗號“,”這種更符合語言習慣的方式分隔輸入字符。其原理是因為input()輸入了一個字符串,而split()函數能根據設定的分割點分割字符串并返回分割后的字符串列表,所以能實現一次性輸入多個數據值。范例如下:

但是,這樣輸入的值仍是字符串型,我們在上面已經說過字符串無法直接參與運算,最好輸入時進行類型轉換,那么,按照我們第二點的方法轉換多輸入值可行嗎?

可以看到,這樣是不可以的,那么為什么上面單輸入可以而多輸入報錯呢?原因我們其實已經說過了,split()函數返回的是一個列表,spring當然能被轉換成int型,但是列表是沒法被這樣直接轉換的,所以我們需要用另一個函數map()來實現多輸入的強制類型轉換。

map()函數接受兩個接收兩個參數,一個是函數,一個是序列,map()將傳入的函數依次作用到序列的每個元素,并把結果作為新的list返回。我們將傳入的函數設置為強制類型轉換函數int,則split()函數返回的列表里的每一個值都將被強制轉換類型,從而實現多輸入的類型轉換。范例如下:

附:input()函數結果的強制轉換

choice=input('請選擇1或2')
if choice=='1':
    print('正確')
else:
    print('錯誤')

上面這段代碼很簡單,僅有兩個選項,如果上面代碼不是兩個,而是幾十個,幾百個,難道我們要一個一個打'1','2','3','4','5',.....'200','201'.....,這時我們要想辦法簡單一點,那就是把所有的數據的類型都轉換成整型,但是上面不是說了input()函數的返回都為string類型嗎?其實在某些特殊情況下是可以被強制轉換的,

choice=int(input('請選擇1或2'))
if choice==1:
    print('正確')
else:
    print('錯誤')
 
------------------------------
 
請選擇1或2 1
正確

只要在input()函數前面加上int(),就可以把input()函數的結果強制轉換成整數。

那么我們什么時候會用到把結果強制轉換成整數的時候呢,當我們想要的結果是數字的時候。例如年齡,工資,身高,體重等這些數字時。

例如:我們要對全班的同學按照身高進行分組,這時我們就需要用到整數。

height=int(input('請問你的身高是:'))
if 0<height<=150:
    print('你被分到了1組')
elif 150<height<=180:
    print('你被分到了2組')
else:
    print('你被分到了3組)
-----------------------------------
請問你的身高是:185   
你被分到了3組

總結

到此這篇關于Python中input()函數用法的文章就介紹到這了,更多相關Python input()函數用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python+Pygame實現經典魂斗羅游戲

    Python+Pygame實現經典魂斗羅游戲

    《魂斗羅》(Contra)是由Konami于1987年推出的一系列卷軸射擊類單機游戲。本文將利用Python中的Pygame庫實現這一經典游戲,感興趣的可以了解一下
    2022-05-05
  • python jieba分詞并統(tǒng)計詞頻后輸出結果到Excel和txt文檔方法

    python jieba分詞并統(tǒng)計詞頻后輸出結果到Excel和txt文檔方法

    本篇文章主要介紹了python jieba分詞并統(tǒng)計詞頻后輸出結果到Excel和txt文檔方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python 中的Selenium異常處理實例代碼

    Python 中的Selenium異常處理實例代碼

    本文通過實例代碼給大家介紹了Python 中的Selenium異常處理的相關知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • 淺析Python實現DFA算法

    淺析Python實現DFA算法

    DFA全稱為Deterministic Finite Automaton,即確定有窮自動機。特征:有一個有限狀態(tài)集合和一些從一個狀態(tài)通向另一個狀態(tài)的邊,每條邊標記有一個符號,其中一個狀態(tài)是初態(tài),某些狀態(tài)是終態(tài)。不同于不確定的有限自動機,DFA中不會有從同一狀態(tài)出發(fā)的兩條邊標志有相同的符號
    2021-06-06
  • 如何利用opencv對拍攝圖片進行文字識別

    如何利用opencv對拍攝圖片進行文字識別

    在有些工程中有時候我們需要對圖片文字識別,下面這篇文章主要給大家介紹了關于如何利用opencv對拍攝圖片進行文字識別的相關資料,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • Python描述器descriptor詳解

    Python描述器descriptor詳解

    這篇文章主要向我們詳細介紹了Python描述器descriptor,需要的朋友可以參考下
    2015-02-02
  • 用Python解決計數原理問題的方法

    用Python解決計數原理問題的方法

    計數原理是數學中的重要研究對象之一,分類加法計數原理、分步乘法計數原理是解決計數問題的最基本、最重要的方法,也稱為基本計數原理,它們?yōu)榻鉀Q很多實際問題提供了思想和工具。本文教大家怎么用Python解決在數學中遇到的計數原理問題。
    2016-08-08
  • Python隨機生成迷宮游戲的代碼示例

    Python隨機生成迷宮游戲的代碼示例

    本文主要介紹了Python隨機生成迷宮游戲的代碼示例,Python可以通過生成二維數組模擬迷宮的結構,使用深度優(yōu)先搜索和廣度優(yōu)先搜索等算法找到通路,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 下載安裝好python后想查看python安裝位置的幾種方法

    下載安裝好python后想查看python安裝位置的幾種方法

    這篇文章主要介紹了在Windows系統(tǒng)中查看Python路徑和版本的幾種方法,并提供了一個清除命令行窗口的技巧,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • python制作機器人的實現方法

    python制作機器人的實現方法

    機器人自動回復在很多場景中都可以用的上,本文主要介紹了python制作機器人的實現方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06

最新評論