Python與用戶交互
一、為什么交互
讓我們來回顧計算機的發明有何意義,計算機的發明是為了奴役計算機,解放勞動力。假設我們現在寫了一個ATM系統取代了櫃員,如果我們要在這台ATM上取款,那么這個ATM是不是會要求我們輸入姓名、密碼?是不是需要我們輸入我們需要取款金額?這是不是就可以理解為一種交互。現在讓我們了解下Python是怎么實現交互的。
二、如何交互
print('-'*100)
input("請輸入你的姓名:")
print('*'*100)
----------------------------------------------------------------------------------------------------
請輸入你的姓名:nick
****************************************************************************************************
現在讓我們手寫一個ATM的登陸系統???
name = input('請輸入你的姓名:')
pwd = input('請輸入你的密碼:')
print(type(name))
print(type(pwd))
請輸入你的姓名:nick
請輸入你的密碼:123
<class 'str'>
<class 'str'>
通過上面的打印結果,我們可以發現input()方法的作用只是接收值。由於我們目前基礎知識不夠,我們暫時使用input()交互,之后會使用Web/可視化界面的形式交互。
注意:無論我們輸入的值是數字類型、字符串類型、列表類型,input的接收值都是字符串類型。
三、Python2的交互
name = raw_input('請輸入你的姓名:')
pwd = raw_input('請輸入你的密碼:')
print(type(name)) # 'str'
print(type(pwd)) # 'str'
注意:python2當中的raw_input()和python3中的input()是一模一樣的。
x = input('username: ') # 必須輸入明確的數據類型,你輸入什么類型則接收什么數據類型,輸入'egon'而不是egon,否則會報錯
Python3的交互相比較於Python2應該是更合理的,雖然Python3的交互在程序中使用是麻煩了,因為如果輸入年齡還需要強制轉換,但是如果用python2的input,用戶需要知道自己輸入的數據是什么數據類型的,對用戶不友好,如此寫出的程序可能明天就沒人使用了。