当我们需要通过用户的控制台输入数据时,python3内置的input()函数可以帮助我们实现这一目的。input()函数会从控制台读取一行文本,并返回用户输入的值。
基本语法
input()函数的基本语法如下:
input([prompt])
其中,prompt参数是一个可选的字符串,表示在等待用户输入时,向控制台输出的提示信息。若省略该参数,将不会有任何提示信息。在输入数据时,按下回车键即可结束输入。
下面是一个简单的示例代码:
name = input('请输入您的姓名:')
print('您好,{}!'.format(name))
这个代码段中,使用input()函数读取用户输入的姓名,然后使用格式化字符串的方式输出欢迎信息。在控制台中运行时,会先输出”请输入您的姓名:”这一提示信息,等待用户输入其姓名,并按下回车键提交,之后输出欢迎信息。
input()函数的返回值
input()函数执行完毕之后,返回的是字符串类型的用户输入值。可以通过强制类型转换来将其转换为其他类型的数据,例如整数或浮点数。
下面是一个示例代码,演示强制类型转换如何应用于input()函数返回的字符串类型:
age_str = input('请输入您的年龄:')
age = int(age_str)
print('您的年龄是:', age)
在这个示例代码中,首先使用input()函数读取用户输入的年龄,返回的是字符串类型的输入值。之后,使用int()函数将输入值强制转换为整型数据,并将其赋值给变量age。最后,通过print()函数输出该变量的值,以验证强制类型转换是否成功。
实例1:计算用户输入数列的总和
下面是一个示例代码,使用input()函数读取用户输入的一组数值,然后计算其总和并输出。
input_str = input('请输入一组数,用空格分隔:')
numbers = input_str.split()
sum = 0
for num in numbers:
sum += int(num)
print('总和为:', sum)
在这个示例代码中,首先使用input()函数读取用户输入的一组数值,并将其保存为一个字符串。之后,使用split()方法将字符串按照空格分隔为多个字符串,存放在列表numbers当中。然后,使用for循环遍历列表numbers中的所有数值,并依次将它们转换为整型数据,加到变量sum中。最后,使用print()函数输出总和的结果。
实例2:模拟1v1对决
下面是一个示例代码,模拟两个玩家进行1v1对决,分别读取其输入的攻击力值,然后根据攻击扣血规则模拟对决过程,输出最终胜者。
player1_atk = int(input('请输入玩家1的攻击力:'))
player2_atk = int(input('请输入玩家2的攻击力:'))
player1_hp = player2_hp = 100
while player1_hp > 0 and player2_hp > 0:
player1_hp = player1_hp - player2_atk
player2_hp = player2_hp - player1_atk
if player1_hp > 0:
print('玩家1获胜!')
else:
print('玩家2获胜!')
在这个示例代码中,首先分别使用input()函数读取两个玩家的攻击力值,并将其保存为整型变量。之后,初始化两个变量player1_hp和player2_hp为100,表示玩家初始的生命值。然后,使用while循环,进入1v1对决循环,直到一方的生命值降为0以下为止。在每一轮循环时,根据攻击扣血规则更新玩家的生命值变量。最后,通过判断生命值的状态,输出获胜者的信息。