一、input函数概述
在Python中,input()是一个内置函数,它用于从用户处读取输入并返回一个字符串。当程序运行到这个函数时,它会等待用户的输入。一旦输入完成并按下Enter键,函数就会返回所输入的字符串值。
name = input("请输入你的名字:")
print("你好," + name)
当执行上述代码时,程序会在屏幕上显示“请输入你的名字:”,等待用户输入。用户输入完毕后按下Enter键,程序会将输入的内容存储在变量name中,并输出“你好,name”的信息。
二、使用input函数读取不同类型的输入
无论是什么类型的输入,都可以通过input()函数进行读取。以下是一些不同类型的案例。
1、读取整数输入
当需要将用户输入的值作为整数处理时,可以使用int()函数进行转换。如下所示:
number = int(input("请输入一个整数:"))
print("你输入的数是:", number)
在这里,程序先使用input()函数接收一个字符串类型的输入,接着用int()函数将它转换成整数类型。如果输入的不是整数,程序将会崩溃并抛出异常。
2、读取浮点数输入
读取浮点数类型的输入同样简单,只需将input()得到的字符串用float()转换即可。
price = float(input("请输入商品的价格:"))
print("你输入的价格是:", price)
在这里,输入的字符串被转换成浮点数类型,price变量存储着用户输入的商品价格。
3、读取布尔型输入
读取布尔型输入需要将从input()函数中得到的字符串类型值作为一个条件表达式来使用。
answer = input("答案是yes吗?(y/n)")
if answer == "y" or answer == "Y":
print("你回答了yes。")
elif answer == "n" or answer == "N":
print("你回答了no。")
else:
print("请回答Y或N。")
在这里,用户输入一串字符串,表示他对问题的回答。如果回答是“y”或“Y”,将输出一条消息,如果回答是“n”或“N”,将输出另一条消息。如果无法理解输入的字符,将输出一个提示信息。
三、使用input函数进行交互式编程
input()函数是交互式编程中一个非常有用的工具。可以将input()与条件和迭代语句一起使用,通过不断从用户那里获取输入来生成交互式过程。
question = input("你有什么问题想问我吗?")
while question != "bye":
if question == "你怎样?":
print("我很好,谢谢!")
else:
print("对不起,我不知道答案。")
question = input("还有什么问题吗?")
print("再见!")
在这个例子中,程序不断地询问用户问题,每当用户回答后,程序就会根据不同的回答产生不同的输出。当用户输入“bye”时,程序会退出循环,结束整个过程。
四、安全使用input函数
input()函数虽然非常实用,但是要注意一些安全问题。由于标准的input()函数可以接收并执行任何用户提供的代码,它可能会成为安全隐患。如果不小心从未经验证的用户处接收了输入,就会受到代码注入(Injection)攻击,使你的程序被入侵。
要避免这种情况,请避免从未经过验证的用户处接收输入,尽可能使用正则表达式或其他过滤器来限制输入内容,并使用Python的其他安全函数来帮助确保您的代码不会受到不安全的输入。
import re
input_str = input("请输入含有数字的字符串:")
if re.match(r'\d+', input_str):
numeric_value = int(input_str)
else:
print("输入内容不包含数字")
在这个例子中,程序使用了正则表达式来验证输入。如果输入是数字,程序会将其转换成整数,否则则会输出一条消息。
总结
Python中的input()函数允许用户从屏幕上输入值。通过使用input(),可以使程序变得交互,读取不同类型的输入,进行交互式编程,以及避免安全问题。对于所有用户提供的输入,您都应该谨慎对待,确保您的程序不会被注入攻击。