【python系统学习05】input函数——实现人机交互
input函数
目录
input用途
实现人机交互:
1、你提出问题打印在屏幕上,
2、运行程序的人再输入回答。
3、按下回车,程序得到收集来的回答
4、之后,逻辑向下继续运行。
我们写的程可以实现根据他输入的回答进行不同的逻辑走向。
语法
示例
result = input('你爱我吗?请输入:')
if result == '不':
print('哼!你个大猪蹄子!')
else:
print('me too!!!'))
# 拿着搜集到的结果数据“result”的值来处理我们的程序,根据result的值不同,逻辑走向也就不同。
你提出的问题就是小括号“()”里边的那段字符串。result接受的就是运行的人输入的回答。运行的人按下回车,流程向下继续走。
参数
是一句话,只要填写你要询问客户的问题或你想输入、表达出来的任何数据,都行。且任何数据类型的皆可。
比如下边几个不同参数的示例:
a、字符串类型的参数
result = input('你爱我吗?请输入:')
# 运行时会打印:你爱我吗?请输入:
b、数字类型 参数
result = input(520)
# 运行时会打印:520
c、布尔类型 参数
result = input(True)
# 运行时会打印:True
d、甚至复杂类型(日后要整理的列表)参数都可以!
result = input([1,2,3])
# 运行时会打印:[1,2,3]
返回值
1、正常情况下
返回的就是用户输入的内容。
BUT⚠️, input函数的返回值,一定是字符串格式的。
也就意味着result变量肯定是字符串类型的数据。
result = input('你爱我吗?请输入:')
print(type(result)) # <class 'str'>
控制台交流如下:
“你爱我吗?请输入:”
此时我输入了123,还是纯数字键盘输入的123喔。
然后观察print的result类型,发现是<class 'str'>,字符串格式。
2、非正常情况下
那么,我用户不回答,直接回车跳过你这个问题呢?返回值是啥?看图说话:

可以看到图中最后一行打印的依旧是<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('允许这里有个白眼!
【python系统学习05】input函数——实现人机交互的更多相关文章
- 【python系统学习12】函数
函数 函数是一堆组织好的.可重复利用的.用来实现某一功能的代码. python中的input().print().type().bool().len()等都是函数.且是python的内置函数. 我们也 ...
- python入门学习:7.函数
python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数 使用关键字def ...
- Python新手学习基础之函数-概念与定义
什么是函数? 函数是可以实现一些特定功能的方法或是程序,简单的理解下函数的概念,就是你编写了一些语句,为了方便使用,把这些语句组合在一起,给它起一个名字,即函数名.使用的时候只要调用这个名字,就可以实 ...
- 【Python系统学习】基础篇
这次真的是最后一次了!第三次滚Python的基础.走了太多弯路.认真一点!菜鸟! 教程 转义字符 \ 可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\ ...
- 【python系统学习10】布尔值
python的数据类型有好多个,前边写过字符串.整数和浮点数这三种. 本节来整理另一种简单数据类型--布尔值 布尔值(bool) 布尔值和其数据值 计算机可以用数据进行判断,若判断为真则执行特定条件中 ...
- python基础学习1-内置函数
#!/usr/bin/env python # -*- coding:utf-8 -*- 系统内置函数 n =abs(-1) #绝对值 print(n) #bytes()函数 s="离开&q ...
- Python 系统学习梳理_【All】
Python学习 1. Python学习---Python安装与基础1205 2. Python学习---PyCharm的使用学习 3. Python学习---Python数据类型1206 4. Py ...
- Python Tutorial 学习(七)--Input and Output
7. Input and Output Python里面有多种方式展示程序的输出.或是用便于人阅读的方式打印出来,或是存储到文件中以便将来使用.... 本章将对这些方法予以讨论. 两种将其他类型的值转 ...
- Python新手学习基础之函数-lambda函数
lambda函数 在Python里除了用def定义函数外,还有一种匿名函数,也就是标题所示的lambda函数,它是指一类无需定义标识符(函数名)的函数或子程序. lambda函数的使用语法如下: la ...
随机推荐
- Python--day38--进程同步控制的---锁\信号量\事件的方法名
- dotnet core 集成到 Mattermost 聊天工具
在找了很久的团队交流工具,发现了 Mattermost 最好用,但是还需要做一些定制化的功能,于是就找到了 Mattermost 插件开发,还找到了如何自己写服务集成到 Mattermost 里面 本 ...
- C++ windows客户端支持SSL双向认证
C++ windows客户端支持SSL双向认证,服务端是JAVA开发的,使用的证书是jks格式的.C++并不支持JKS格式的证书,所以要用openssl进行转换下. 1. 需要先把jks转成.p12文 ...
- Canal常用配置
Canal 是mysql数据库binlog的增量订阅&消费组件. 基于日志增量订阅&消费支持的业务: 数据库镜像 数据库实时备份 多级索引 (卖家和买家各自分库索引) search b ...
- SQLAlchemy的增删改查 一对多 多对多
Models只是配置和使用比较简单,因为是Django自带的ORM框架,所以兼容性不行,所以出现了SQLAlchemy,SQLAlchemy是比较全面的ORM框架,它可以在任何使用SQL查询时使用 以 ...
- linux下tomcat相关的命令
1.查看Tomcat是否以关闭 ps -ef|grep tomcat 2.直接干掉Tomcat可以使用kill命令,直接杀死Tomcat进程(这个命令用在当你关闭tomcat报错的时候直接杀死进程) ...
- Spring Boot 整合 slf4j+log4j 实现日志管理
一:首先新建一个jar项目,如下图: 二:添加log4j的依赖,如下pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0 ...
- Linux 安装 Nvidia 驱动出现的黑屏各种问题和解决方式
之前因为想OBS支持h264-nvenc这个功能然后就编译ffmpeg,然后使用Github上面的一个编译项目),项目编译完成之后重启电脑,然后就进入不了系统的登录页面了,选择进入Linux系统之后就 ...
- ORM之炀,打造自已独特的开发框架CRL
ORM一直是长久不衰的话题,各种重复造轮子的过程一直在进行,轮子都一样是圆的,你的又有什么特点呢? CRL这个轮子造了好多年,功能也越来越标准完备,在开发过程中,解决了很多问题,先上一张脑图描述CRL ...
- 【学习笔鸡】整体二分(P2617 Dynamic Rankings)
[学习笔鸡]整体二分(P2617 Dynamic Rankings) 可以解决一些需要树套树才能解决的问题,但要求询问可以离线. 首先要找到一个具有可二分性的东西,比如区间\(k\)大,就很具有二分性 ...