终端

想象一下,你如果要开发一个计算税后薪资的软件,需要用户输入员工的薪资,怎么做?

当然可以开发一个带图形界面的程序,但是图形界面的开发需要更多的基础知识,我们先学习如何在终端上,让用户用键盘输入信息。

可能你要问了,什么叫终端?

终端这个名词,历史悠久,感兴趣的同学可以参考这篇文档 终端

这里,我们可以先简单说,就是命令行窗口。就是这个


这个就是我们常说的终端窗口

输入输出

我们写的程序目前都是使用这个窗口 输出信息 ,和 输入信息 。

前面我们学过使用Python的内置函数 print 输出 信息到屏幕上。

那么,我们怎么让用户 输入 信息给程序呢?

这时我们需要使用另一个内置函数 input

比如

salary = input('请输入张三的薪资:')

print(salary)

input 函数里面的参数是个字符串, 它是 让用户输入之前,显示在屏幕上的提示信息

大家运行一下,就可以发现,

解释器在执行到第一行代码input处

会停止执行代码,等待用户输入员工的薪资。如果用户没有输入结束,就一直停止在这里,不会执行下面的代码。

输入薪资数字后,用户敲一个回车符,结束输入。 这时 input函数才会返回用户输入的内容,并继续执行下面的代码 print(salary)

input函数返回值是 用户输入的字符串,不包括最后的回车符。

要注意,input函数返回的用户输入的内容,都是 字符串 。

即使用户输入的是一个数字,返回的也是 一个 内容为数字 的 字符串

如果我们想根据用户输入的薪资计算出税后薪资(扣税15%),该怎么办?

能不能这样?

salary = input('请输入张三的薪资:')

print('税后薪资是:' + salary*85/100 )

运行一下,发现有错误

TypeError: unsupported operand type(s) for /: 'str' and 'int'

因为字符串 是不能 进行数学运算的

要解决这个问题,可以使用两个内置函数, int 和 str

int把字符串转化为对应的数字

int('1000') 返回的结果就是 数字 1000

str把数字转化为对应的字符串

str(1000) 返回的结果就是 字符串 '1000'

那么大家想想 ,我们该怎么做呢?

对了,可以这样

salary = input('请输入薪资:')

# 先将字符串转化为数字

intSalary = int(salary)

# 计算出税后薪资

realSalary = intSalary*85/100

# 再转化为字符串,方便下面的字符串拼接

realSalaryStr = str(realSalary)

print('税后薪资是:' + realSalaryStr)

上面的代码可以将中间的语句合并到一个表达式str(int(salary)*85/100)里面

代码可以写成这样

salary = input('请输入张三的薪资:')

print('税后薪资是:' + str(int(salary)*85/100))

课后练习