与用户交互

交互就是有来有往,python与用户交互就是要python与用户互动,比如input指令

a = input('请输入密码')
print(a)
请输入密码123321
123321

上面举了一个简单的例子,用户输入密码,input接收了密码赋值给a,这时候我们再看a的变量值就是用户输入的密码。
input可以接收用户输入的信息,但接收的是什么类型的信息呢?我们之前学过有整形、浮点型、字符串型、列表、字典以及布尔类型,那么我们可以测试得到:

a = input('请输入密码')
print(type(a))
请输入密码111111
<class 'str'>
a = input('请输入密码')
print(type(a))
请输入密码111.15
<class 'str'>
a = input('请输入密码')
print(type(a))
请输入密码asdfggg
<class 'str'>

由此可知,input指令接收的信息都会以字符串类型保存,如果我们需要转换成其他格式需要再把接收的值以其他数据格式赋值。

a = input('请输入密码')
print(a)
print(type(a))
a = int(a)
print(type(a))
请输入密码25555
25555
<class 'str'>
<class 'int'>

如此就可以把格式更换数据类型保存。

在python2和python3中有一个很大的区别就是,python2中,使用input与用户交互时需要用户指定数据类型,而除了程序猿本身大多数用户对数据类型都没有概念,所以在python3中input变为了接收所有类型的数据,统一存放为字符串型。

格式化输出

在与用户交互时,经常需要我们以固定格式对用户反馈信息,比如

name = input('用户名')
age = input('你的年龄')
print('你好'+ name,',你的年龄是'+age)
用户名韦小宝
你的年龄18
你好韦小宝 ,你的年龄是18

这样编写起来就比较麻烦,我们可以选择使用占位符先占位后替换,以达到简洁方便的目的。

name = input('用户名')
age = input('你的年龄')
print('你好%s,你的年龄是%s'%(name,age))
用户名韦小宝
你的年龄18
你好韦小宝,你的年龄是18

%s和%d都是占位符,python在识别到%s(针对所有类型)或%d(只针对数据类型)后就知道这个位置是占位了的,待要输出的内容结束后以%()在括号中再把变量顺序填入就可以。

format格式化

format格式化以{}作为占位,结束时以.format()结束(括号中变量需要一一对应)

name = input('名字')
age = input('年龄')
height = input('身高')
print('你好{},你的年龄是{},你的身高是{}'.format(name,age,height))
名字毛毅智
年龄18
身高182
你好毛毅智,你的年龄是18,你的身高是182

这种格式化的方式在遇到多个变量的时候并不太好用,因为还要一一对应来输入一堆变量名,所以平常我们使用另一种格式化方式:f-string

f-string格式化

f-string格式化直接以{变量名}作为占位符,且可以在句中进行算术运算,在print(后输入一个f或F即使用了f-string格式化。

name = input('名字')
age = input('年龄')
height = input('身高')
print(f'你好{name},你明年的年龄是{int(age)+1},你的身高是{height}')
名字韦小宝
年龄18
身高182
你好韦小宝,你明年的年龄是19,你的身高是182

:.nf加在数字型变量后可做到四舍五入保留n位小数

name = input('名字')
age = input('年龄')
height = input('身高')
print(f'你好{name},你明年的年龄是{int(age)+1:.2f},你的身高是{height}')
名字韦小宝
年龄18
身高182
你好韦小宝,你明年的年龄是19.00,你的身高是182

基本运算符

算术运算符:+ - * / % //

比较运算符:<、> 、<=、>=、=

赋值运算符:=

逻辑运算符:and、or、not
and表示“与”需要前后条件都为true才为true
or表示“或”前后有一方为true即为true
not表示“非”,条件不成立时逻辑判断为true

身份运算符:is(比较数值和内存地址),==(比较数值是否相等)

优先级:需要优先运算的用括号括起来即可

链式赋值

a = b = c = 10
print(a,b,c)
10 10 10

交叉赋值

x = 10
y = 20
z = x
x = y
y = z
print(x,y)
20 10

或者

x = 10
y = 20
x,y = y,x
print(x,y)
20 10

解压缩

在列表中有多个元素时,如果我们想把元素取出就需要解压缩,解压缩有几种方式:

hobby_list = [111,222,444,555,666,777,888,999]
print(hobby_list[3])#只取从左到右第四个数这一个数
555
hobby_list = [111,222,444,555,666,777,888,999]
print(hobby_list[-3])#只取从右到左第三个数这一个数
777
hobby_list = [111,222,444]
hb1,hb2,hb3 = hobby_list
print(hb1)
print(hb2)
print(hb3)
111
222
444
hobby_list = [111,222,444]
_,hb1,_ = hobby_list
print(hb1)#以下划线可以代表不需要的列表中的位数
222
hobby_list = [111,222,444,555,66,777,888,999]
hb1,_,hb2,*_ = hobby_list#星号和下划线可以代表其他位置剩余的数位
print(hb1)
print(hb2)
111
444

转载于:https://www.cnblogs.com/acate/p/10901677.html

与用户交互、格式化输出、基本运算符相关推荐

  1. python之while循环用法举例,break与continue的区别,格式化输出及运算符

    一.while循环的基本结构 while 条件: 代码块(循环体) else: 当上面的条件为假. 才会执行 执行顺序:判断条件是否为真. 如果真. 执行循环体. 然后再次判断条件....直到循环条件 ...

  2. 变量、基本数值类型、格式化输出、运算符

    前言:这周迷上了打羽毛球,正所谓"人菜瘾大",一下班,就喊上狂徒张三去楼下空地打球,一直打到天黑为止.打完球浑身大汗淋漓,又是洗澡洗衣,额外占用了点学习的时间,但人很快乐,感觉自己 ...

  3. 格式化输出以及运算符

    1.格式化输出 方法一:此方法相对复杂 格式化字符串:将指定的数据按照指定的格式组合成指定的字符串. 注意:%.nf表示保留小数点后n位,n>1(四舍五入). 注意:%.nd,当n大于原数字的长 ...

  4. matlab ip 大端,MATLAB格式化输出控制

    MATLAB格式化输出控制 format 默认格式 format short 5字长定点数 format long 15字长定点数 format short e 5字长浮点数 format long ...

  5. 基石为勤能补拙的迷宫之旅——第三天(Python基本数据类型,与用户交互(输出输入),运算符)

    一. 基本数据类型 为何数据要区分类型?     数据类型值的是变量值的类型,变量值之所区分类型,是因为变量值是用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用不同类型的值去记录它们. ...

  6. python使用什么注释语句和运算-Python基础之注释,算数运算符,变量,输入和格式化输出...

    Python的注释 注释的作用:用自己熟悉的语言,对某些代码进行标注说明,增强程序的可读性: 在python解释器解释代码的过程中,凡是#右边的,解释器都直接跳过这一行: 注释的分类 单行注释 # 这 ...

  7. Python的输入指令、格式化输出、基本运算符

    Python的输入指令.格式化输出.基本运算符 Python的输入指令input name = input('Could I know your name please?') 在Python3版本下, ...

  8. 格式化输出,运算符,编码,字符串(索引,切片,大小写转换等等)

    格式化输出%s和format{} , 运算符 , 编码 , 字符串(索引,切片,大小写转换,拉长字符,去空格,替换,切割,格式化输出format , count数数 , find查找 , index求 ...

  9. python基本输入与格式化_Python导学基础(三)输入、格式化输出、基本运算符

    一:输入 1.python3中的input inp_username=input("请输入您的密码:") # "18" print(inp_username) ...

  10. day02 while循环 运算符 格式化输出 编码

     今日主要内容 while循环:判断条件是否成立. 如果成立执行循环体.然后再次判断条件,.....直到条件不成立的时候跳出循环 语法: while 条件: 循环体 else: 当条件不成立的时候执行 ...

最新文章

  1. mysql 脑裂的问题,DRBD脑裂问题故障处理
  2. java代码如何写出打印_java - 为什么这个代码向后写,打印“Hello World!”
  3. 直播 | 脑血管斑块磁共振成像:技术研发、临床转化和数据挑战
  4. 淮阳一高2021高考成绩查询,周口教育网2021年淮阳中招成绩查询系统
  5. [jQuery] 谈一下Jquery中的bind(),live(),delegate(),on()的区别?
  6. 利用arcgis将execl数据可视化(点)
  7. leetcode6. Z 字形变换
  8. (王道408考研操作系统)第二章进程管理-第三节5:用信号量实现进程互斥、同步和前驱关系
  9. ecshop操作数据库类
  10. 分治——Secret Cow Code S(洛谷 P3612)
  11. 【转】从Chrome源码看JS Object的实现
  12. 百度文库刷财富值软件-第二版
  13. 自然辩证法2018版_2018年《自然辩证法概论》已整理
  14. python办公自动化(十一)自动分类文件夹
  15. Deeper引领WEB3.0世界:去中心化、 安全性和超高速率的统一
  16. 远程计算机怎么桌面显示不全,win7系统连接远程桌面却不能全屏显示解决方法...
  17. Bat shell 脚本相关查询记录
  18. SwiftUI接入穿山甲开屏广告
  19. 推荐 - 将多种格式的 Office 文件转换为 PPT 和图片
  20. 【无极低码】低代码平台开发日记,低代码平台之sql编程

热门文章

  1. web开发实战--弹出式富文本编辑器的实现思路和踩过的坑
  2. 求教一个WEBSERVER与C的通信问题
  3. 指定的網域的名稱或安全性識別碼(用磁碟映像檔部署的電腦無法加入AD網域 )...
  4. 如何删除计算机中的“天翼云盘”图标
  5. JAVAWeb项目 微型商城项目-------(一)项目描述
  6. php ajax跨域cookies,解决ajax跨域请求数据cookie丢失问题
  7. python随机数字字符串_pythonrandom生成随机数和字符串,数字
  8. svn开发环境代码合并到生产
  9. MapReduce学习要点
  10. 学校计算机协会有哪些部门,大学生计算机协会部门职能划分(7页)-原创力文档...