目录 html
实现人机交互:前端
一、你提出问题打印在屏幕上,python
二、运行程序的人再输入回答。git
三、按下回车,程序获得收集来的回答github
四、以后,逻辑向下继续运行。web
咱们写的程能够实现根据他输入的回答进行不一样的逻辑走向。编辑器
result = input('你爱我吗?请输入:')
if result == '不':
print('哼!你个大猪蹄子!')
else:
print('me too!!!'))
# 拿着搜集到的结果数据“result”的值来处理咱们的程序,根据result的值不一样,逻辑走向也就不一样。
你提出的问题就是小括号“()”里边的那段字符串。result接受的就是运行的人输入的回答。运行的人按下回车,流程向下继续走。函数
是一句话,只要填写你要询问客户的问题或你想输入、表达出来的任何数据,都行。且任何数据类型的皆可。工具
好比下边几个不一样参数的示例:spa
a、字符串类型的参数
result = input('你爱我吗?请输入:')
# 运行时会打印:你爱我吗?请输入:
b、数字类型 参数
result = input(520)
# 运行时会打印:520
c、布尔类型 参数
result = input(True)
# 运行时会打印:True
d、甚至复杂类型(往后要整理的列表)参数均可以!
result = input([1,2,3])
# 运行时会打印:[1,2,3]
一、正常状况下
返回的就是用户输入的内容。
BUT⚠️, input函数的返回值,必定是字符串格式的。
也就意味着result变量确定是字符串类型的数据。
result = input('你爱我吗?请输入:')
print(type(result)) # <class 'str'>
控制台交流以下:
“你爱我吗?请输入:”
此时我输入了123,仍是纯数字键盘输入的123喔。
而后观察print的result类型,发现是<class 'str'>
,字符串格式。
二、非正常状况下
那么,我用户不回答,直接回车跳过你这个问题呢?返回值是啥?看图说话:
能够看到图中最后一行打印的依旧是<class 'str'>
,字符串格式。说明用户不输入,result接收的、或者说input返回的值是一个字符串形式的空串。
至于函数相关内容。我学过js接受起来很方便。可能零基础看起来就不爽了。
什么是参数、什么是返回值。。。内心一千个草泥马沸腾。
这个也按下不表,往后详谈。
可是说回正题。咱们平时写逻辑,得把用户输入的可能性都考虑进去。也就是result若是不符合咱们指望的状况,都考虑进去。
好比我上例中,result只要不是“不”字,就都走到else的状况了。
上边强调了好几遍,input函数赋值给变量后,变量确定是字符串格式。
立刻要过年了,过年确定要见你的七大姑八大姨吧!
那么假如咱们对input有如下使用场景呢:
age = input('石头,你今年多大啦!')
if age > 24:
marryBu = input('哎呀!那你有对象了吗?打算啥时候结婚啊!')
elif age < 24:
whereWork = input('工做啦!那你年薪多少啊如今!')
else:
print('哎吆,24不小了!我儿子24岁那年,他儿子都出生啦!')
print('容许这里有个白眼!🙄️')
好,那咱们来分析这段程序。
运行你就会发现,这段程序确定会报错。
TypeError
的错误,具体错误分析就去这里看,不赘述。
可是简而言之呢,就是说我们截图中输入的 12 ,他是个字符串。
而到了下边if、else里,age和数字24来作判断。
python做为强类型语言对这样写法是零容忍的,因此就报错了。
说了这么多废话呢,就一句话归纳: 针对input的返回值使用时,注意进行类型转换。 须要把字符串转换成你须要的其余类型再进行if判断。
上述代码改进以下:
age = input('石头,你今年多大啦!')
if int(age) > 24:
marryBu = input('哎呀!那你有对象了吗?打算啥时候结婚啊!')
elif int(age) < 24:
whereWork = input('工做啦!那你年薪多少啊如今!')
else:
print('哎吆,24不小了!我儿子24岁那年,他儿子都出生啦!')
print('容许这里有个白眼!🙄️')
最后放一下运行成功的图。(偷偷告诉你,主要是由于我喜欢那个白眼。)
从根源上改进的写法以下:
# age = input('石头,你今年多大啦!')
age = int(input('石头,你今年多大啦!'))
if age > 24:
marryBu = input('哎呀!那你有对象了吗?打算啥时候结婚啊!')
elif age < 24:
whereWork = input('工做啦!那你年薪多少啊如今!')
else:
print('哎吆,24不小了!我儿子24岁那年,他儿子都出生啦!')
print('容许这里有个白眼!🙄️')
⚠️ 接上文。
用int()
强制类型转换的同时,你得确保用户输入的是能够用int转换的数据——即整数。若是他输入浮点数、布尔值、中英文字符串等,我们上边写法的程序可能就挂了。
因此仍是那句话,涉及到和用户打交道的时候,你必须得作容错处理
。即你得把全部可能性都想到,由于你不能保证用户输入啥!
我以为这也是前端苦逼的地方之一吧。❤️
说了这么多,你也来写一写吧!
实现效果:
一、【简单】让用户输入本身的名字,而后打印出来“hello!用户的名字”
“须要用到
”input
、变量赋值
等
二、【困难】汇率计算器:让用户输入要兑换的币种,再输入目标币种。输入用户的金额。输出转换后的结果。(文字描述枯燥,效果可百度“汇率计算”,看搜索结果的第一条在线小工具。体验事后用python实现)
“须要用到
”input
、if语句
、类型转换
、变量赋值
、算术运算符及表达式
等前边铺设过的知识点。