本文首發于公眾號「猿天罡」,轉載請注明出處,謝謝!
有時候,我們編寫的程序需要從用戶那兒“拿到”一些數據才能繼續執行下去,比如,判斷某人是否到了法定投票年齡,需要用戶自己輸入名字和年齡才行。
Python要“拿到”用戶輸入的數據比起Java來可簡單多了,只需要學會
input()
方法即可。
下面我們一起來學習一下
input()
函數的基本用法,邁出編寫交互式程序的第一步!
1.函數input()的工作原理
input()
方法會先向控制臺輸出提示語(如果你設置了的話,后面會講),然后暫停程序,等待用戶輸入一些文本數據。獲取到用戶輸入的數據后,Python將其存儲在一個變量中,以便之后使用。
舉個例子,下面的程序讓用戶輸入年齡(暫時不判斷是否可以投票),再將用戶年齡打印出來:
age
=
input
(
"小盆友,今年多大啦?請在下方輸入你的年齡:\n"
)
print
(
"我今年 "
+
age
+
" 歲"
)
函數
input()
接受一個參數,即要向用戶顯示的提示或說明,讓用戶知道該如何做。
在上面的示例中,我們傳給
input()
函數的參數是
小盆友,今年多大啦?請在下方輸入你的年齡:\n
。程序會把這個參數輸出到控制臺,用戶可以看到這個參數(提示)。
然后用戶根據提示輸入自己的年齡,輸入完成后,當用戶按下回車鍵,程序會繼續執行,并將用戶輸入存儲在變量
age
中,最后被我們打印輸出。
說明一下,不同IDE的控制臺可能有細微的區別,我用的是PyCharm,用戶輸入的內容是彩色的。如果你用的是別的IDE沒有彩色可別大驚小怪哦。
別看上面程序短小,其實暗含很多信息:
-
如果需要給用戶提示信息,就把提示信息(通常是字符串)傳給
input()
方法。當然,你也可以什么也不傳,程序照樣正常執行,就是用戶體驗不太好; -
不論用戶輸入的是什么,Python都會將其轉化成str類型。
關于第二點,我們來具體看看:
age
=
input
(
"小盆友,今年多大啦?請在下方輸入你的年齡:\n"
)
print
(
type
(
age
)
)
可以看到輸入的"18"確實是str類型,這也就解釋了為什么上面的代碼中
age
可以不做轉化直接與字符串進行拼接了。
2.投票程序
知道了
input()
函數的基本用法之后,其實我們已經能夠實現投票程序了。不過在此之前還需要惡補一個小知識點。
我們知道
input()
函數獲取到的用戶輸入理論上都是str類型(字符串)。
但是投票程序需要用數字去比較大小,要知道
"18"
和
18
是不一樣的,前者是字符串,后者是數字,只有數字18才可以直接進行大于、小于或等于之類的比較。
問題:怎么把str類型轉化成整數類型呢?
答:用函數
int()
,參數是要轉化的字符串。
age
=
input
(
"小盆友,今年多大啦?請在下方輸入你的年齡:\n"
)
print
(
type
(
age
)
)
# 把str類型轉化成int類型
n
=
int
(
age
)
print
(
type
(
n
)
)
我們把str類型的變量
age
轉化成了int類型并將其賦值給變量
n
,所以
type(n)
輸出的應該是int類型。
從圖中可以看到,真的轉化成功了。
**總結:**str類型轉int類型,使用
int()
函數,被轉化的字符串必須形式上是整數但類型是str。
現在萬事俱備,一起來實現投票程序吧:
name
=
input
(
"請輸入你的姓名:"
)
age
=
input
(
"請輸入你的年齡:"
)
age
=
int
(
age
)
if
age
>=
18
:
print
(
name
+
",你已達到法定投票年齡!"
)
else
:
print
(
name
+
",很遺憾,你暫時無法參與投票!"
)
首先定義了兩個變量
name
和
age
來接收用戶輸入的姓名和年齡。需要注意的是,這兩個變量此時都是str類型。
然后需要把用戶輸入的年齡與法定投票年齡(18)進行比較,所以要求用戶輸入的年齡得是整數類型,所以使用了函數
int()
。關于函數的概念之后文章會講到,如果你沒有相關概念,就將其理解成一個黑箱,不必深究,只需要知道函數
int()
經過某些處理,可以把str類型轉化成int類型就行了。
最后與18進行比較,大于等于18的可以投票,否則無法投票。
3.判斷奇偶數
寫這個呢,一方面是想鞏固練習一下
input()
函數,另一方面是想講講前面幾篇文章里沒有提到卻相當重要的一個運算符–
%
求模運算符。
小伙伴們可能對加(
+
)、減(
-
)、乘(
*
)、除(
/
)、乘方(
**
)很熟悉。遺忘的同學可以點擊看我這篇文章。
求模運算符就是計算兩個數相除的余數 。
[外鏈圖片轉存失敗(img-Uv0jF8vp-1566311751588)(https://liuwynn.github.io/images/20190818/圖3-1.png)]
用求模運算符來計算圖示算式:
23
%
5
計算結果肯定是3。
言歸正傳,怎么判斷某個數是奇數還是偶數呢?
我們知道,能被2整除的數是偶數,不能被2整除的數是奇數。整除的意思說白了就是余數為0,這恰好是求模運算符%擅長的領域。
假設存在某個整數X,如果:
X
%
2
==
0
# X和2求模余數是0
則說明X是偶數,否則X一定是奇數。
基本思路理解之后,動手編程咯:
number
=
input
(
"請輸入一個整數,程序將自動判斷奇偶:"
)
number
=
int
(
number
)
if
number
%
2
==
0
:
print
(
"\n數字"
+
str
(
number
)
+
" 是偶數"
)
else
:
print
(
"\n數字"
+
str
(
number
)
+
" 是奇數"
)
首先定義變量
number
去接收用戶輸入的整數,心里要知道
number
接收到的是str類型,它無法直接和2執行求模運算。
然后將str類型變量
number
轉化成int類型,這時
number
就可以和2執行求模運算了。
最后判斷求模結果,即
number
與2相除的余數是不是0,等于0的話就是偶數,否則就是奇數。
運行結果:
求模運算符在編程中使用的還是蠻多的,和加減乘除等運算一樣重要,如果你之前沒有使用過的話,請務必牢記。
4.結語
本文重點講述了
input()
函數的基本用法,順便說明了str類型怎么轉成int類型以及求模運算符的使用。
如果這篇文章對你有所幫助,歡迎點贊、轉發加收藏啦~
或者你有任何疑問,可以掃碼關注下方公眾號,隨時與我聯系,關于Python相關的文章也會首發在此公眾平臺。
最后,感謝你的閱讀,我們下期再見。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
