Python 用户输入
每个计算机应用程序在运行时都应该有一个接受用户数据的方法。这使得应用程序变得交互。根据应用程序的开发方式,应用程序可以接受用户输入,可以是在控制台中输入的文本 (sys.stdin) ,也可以是图形界面或基于Web的界面。在本章中,我们将学习Python如何在控制台中接受用户输入,并将输出结果也显示在控制台上。
Python解释器可以运行在交互模式和脚本模式。交互模式适用于快速评估,但不够高效。对于重复执行相同一组指令的情况,应该使用脚本模式。
让我们先编写一个简单的Python脚本开始。
将上面的代码保存为hello.py并从命令行运行。以下是输出结果:
该程序简单地打印出其中的两个变量的值。如果您反复运行该程序,每次都会显示相同的输出结果。要在该程序中使用另一个姓名和城市的值,您可以编辑代码,将姓名改为”Ravi”,将城市改为”Chennai”。每次您需要赋予不同的值时,都必须编辑该程序,保存并运行,这并非理想的方式。
input()函数
显然,您需要一种机制来在程序运行时为变量赋予不同的值。Python的input()函数正好能够完成这个任务。
Python的标准库包含input()函数。
当解释器遇到它时,它会等待用户从标准输入流(键盘)输入数据,直到按下Enter键。字符序列可以存储在字符串变量中供进一步使用。
读取Enter键后,程序继续执行下一条语句。让我们修改我们的程序,将用户输入存储在name和city变量中。
当你运行时,你会发现光标等待用户的输入。输入姓名和城市的值。使用输入的数据,输出将被显示。
现在,程序中的变量没有被赋予任何特定的值。每次运行时,可以输入不同的值。因此,你的程序已经变得真正的交互式。
在input()函数内部,你可以给出一个 提示 文本,在运行代码时会出现在光标之前。
当您运行程序时,将显示提示消息,基本上帮助用户输入内容。
数字输入
让我们编写一段Python代码,接受用户输入的矩形的宽度和高度,并计算面积。
运行程序,并输入宽度和高度。
为什么你在这里会得到一个 TypeError ?原因是,Python总是将用户的输入读取为字符串。因此,width=”20″和height=”30″是字符串,显然你不能对两个字符串进行乘法运算。
要解决这个问题,我们将使用 int() ,另一个来自Python标准库的内置函数。它将一个字符串对象转换为一个整数。
要从用户那里接受一个整数输入,将输入读取为一个字符串,并使用int()函数将其转换为整数−
您可以将输入和类型转换语句结合在一起-
现在你可以在程序中输入任何整数值到这两个变量中-
Python的 float() 函数将一个字符串转换为浮点数对象。以下程序接受用户输入并解析为浮点型变量rate,并计算用户输入的金额的利息。
程序要求用户输入金额和利率,并按照以下格式显示结果:
print() 函数
Python的print()函数是一个内置函数。它是最常用的函数,用于在Python控制台或标准输出(sys.stdout)中显示括号中给定的Python表达式的值。
括号内可以包含任意数量的Python表达式。它们必须用逗号分隔开。列表中的每个项可以是任何Python对象或有效的Python表达式。
首次调用print()函数是显示一个字符串字面值和一个字符串变量。第二次调用则打印了两个变量的值及它们的减法运算结果。 pow() 函数用于计算一个数的平方根和一个变量的平方值。
如果在print()函数的括号中有多个逗号分隔的对象,则值会由一个空格” “分隔。要使用其他字符作为分隔符,请为print()函数定义一个 sep 参数。该参数应在要打印的表达式列表之后。
在print()函数的下面输出中,变量由逗号分隔。
可以在结果中看到 sep=’,’ 的效果 –
print()函数默认在末尾输出一个换行符(‘\n’)。因此,下一个print()语句的输出会在控制台的下一行出现。
输出显示为两行 −
为了让这两行出现在同一行上,定义第一个print()函数中的 end 参数,并将其设置为空格字符串” “。
两个print()函数的输出连续显示。