1. 程式人生 > >【python系統學習05】input函式——實現人機互動

【python系統學習05】input函式——實現人機互動

input函式

目錄

  • input用途
  • 語法
    • 示例
    • 引數
    • 返回值
  • 返回值資料型別轉換
  • 容錯處理
  • 動手吧

input用途

實現人機互動:

1、你提出問題列印在螢幕上,

2、執行程式的人再輸入回答。

3、按下回車,程式得到收集來的回答

4、之後,邏輯向下繼續執行。

我們寫的程可以實現根據他輸入的回答進行不同的邏輯走向。


語法

示例

result = input('你愛我嗎?請輸入:') 

if result == '不': 
  print('哼!你個大豬蹄子!')
else:
  print('me too!!!'))
# 拿著蒐集到的結果資料“result”的值來處理我們的程式,根據result的值不同,邏輯走向也就不同。

你提出的問題就是小括號“()”裡邊的那段字串。result接受的就是執行的人輸入的回答。執行的人按下回車,流程向下繼續走。

引數

是一句話,只要填寫你要詢問客戶的問題或你想輸入、表達出來的任何資料,都行。且任何資料型別的皆可。

比如下邊幾個不同引數的示例:

a、字串型別的引數

result = input('你愛我嗎?請輸入:')
# 執行時會列印:你愛我嗎?請輸入:

b、數字型別 引數

result = input(520)
# 執行時會列印:520

c、布林型別 引數

result = input(True)
# 執行時會列印:True

d、甚至複雜型別(日後要整理的列表)引數都可以!

result = input([1,2,3])
# 執行時會列印:[1,2,3]

返回值

1、正常情況下

返回的就是使用者輸入的內容。

BUT⚠️, input函式的返回值,一定是字串格式的。

也就意味著result變數肯定是字串型別的資料。

result = input('你愛我嗎?請輸入:')
print(type(result)) # <class 'str'>

控制檯交流如下:

“你愛我嗎?請輸入:”

此時我輸入了123,還是純數字鍵盤輸入的123喔。

然後觀察print的result型別,發現是<class 'str'>,字串格式。

2、非正常情況下
那麼,我使用者不回答,直接回車跳過你這個問題呢?返回值是啥?看圖說話:

任性的使用者的操作

可以看到圖中最後一行列印的依舊是<class 'str'>,字串格式。說明使用者不輸入,result接收的、或者說input返回的值是一個字串形式的空串。

至於函式相關內容。我學過js接受起來很方便。可能零基礎看起來就不爽了。

什麼是引數、什麼是返回值。。。心裡一千個草泥馬沸騰。

這個也按下不表,日後詳談。

但是說回正題。我們平時寫邏輯,得把使用者輸入的可能性都考慮進去。也就是result如果不符合我們期望的情況,都考慮進去。

比如我上例中,result只要不是“不”字,就都走到else的情況了。


返回值資料型別轉換

上邊強調了好幾遍,input函式賦值給變數後,變數肯定是字串格式。

馬上要過年了,過年肯定要見你的七大姑八大姨吧!

那麼假如我們對input有以下使用場景呢:


age = input('石頭,你今年多大啦!')
if age > 24:
  marryBu = input('哎呀!那你有物件了嗎?打算啥時候結婚啊!')
elif age < 24:
  whereWork = input('工作啦!那你年薪多少啊現在!')
else:
  print('哎吆,24不小了!我兒子24歲那年,他兒子都出生啦!')
print('允許這裡有個白眼!