Python与用户交互 Python与用户交互

一、为什么交互?

让我们来回顾计算机的发明有何意义,计算机的发明是为了奴役计算机,解放劳动力。假设我们现在写了一个ATM系统取代了柜员,如果我们要在这台ATM上取款,那么这个ATM是不是会要求我们输入姓名、密码?是不是需要我们输入我们需要取款金额?这是不是就可以理解为一种交互。现在让我们了解下Python是怎么实现交互的。

二、如何交互?

print('-'*26)

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,用户需要知道自己输入的数据是什么数据类型的,对用户不友好,如此写出的程序可能明天就没人使用了。