day03用户交互、基本数据类型、运算符
用户交互
在实际应用中,我们经常需要用户输入相应信息,根据用户输入信息进行反馈,此时我们需要input/output信息
python中提供了便捷的输入方法input()和print()
在python3中
name = input("请输入")
print(name)
print(type(name))
>>>
请输入123
123
<class 'str'>
Process finished with exit code 0
>>>
意味着在python3中用户输入的内容都以字符串的形式保存下来了
python2中:
C:\Users\DELL>python2
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> name = input("请输入")
请输入123
>>> print(name)
123
>>>
>>> print(type(name))
<type 'int'>
>>>
>>> age = raw_input("请输入")
请输入123
>>> print(type(age))
<type 'str'>
>>>
输入123时是以int类型保存下来的
总结:在python3和python2中,input()方法的区别是py3将用户输入的内容全部以字符串的形式保存下来,而在py2是将用户输入的内容以原格式保存下来,而在python2中,raw_input()的用法和python3中的input()用法一样
格式化输出
name = input("name = ")
age = input("age = ")
hobby = input("hobby = ")
print("name is %s\nage is %s\nhobby is %s"%(name, age,hobby))
>>>
输出结果
>>>
C:\Users\DELL\AppData\Local\Programs\Python\Python37\python3.exe C:/Users/DELL/PycharmProjects/untitled1/day02/day03总结.py
name = 李静
age = 16
hobby = Swimming
name is 李静
age is 16
hobby is Swimming
>>>
>>>
python中%s为字符串占位符,实际上%s可以为任何数据类型占位,输出时双引号后面用%变量名来格式化输出
数据类型
1、数字类型:①整数型:age = 18
>>>type(age)
>>>(class 'int')
②浮点型:height = 176.5
>>>type(height)
>>>(class 'float')
2、字符串类型:变量值用单引号双引号或者三引号引起来都可以
>>> name = "heillo"
>>> type(name)
<class 'str'>
>>>
3、列表类型:可以表示一系列元素,用中括号括起来,元素间用逗号分隔
>>>val = ["Alex",18,[12,33,"egon"],20]
>>>type(val)
<class ‘list’>
>>>
列表中的元素可以是各种类型,自然也可以是列表和字典
4、字典类型:可以表示一对一对的元素,元素用花括号括起来:{“键”:值,“键”:值},元素被称为键值对
>>>val = {"name":"Alex","age":18}
>>>type(val)
<class 'dict'>
>>>
5、布尔类型:bool,用作判断条件用。布尔类型只有两种状态,True和False,所有数据类型都对应布尔值,其中 0,none,空字符串、空列表、空字典等为空的数据是False,其余都是True
>>> type(10>3)
<class 'bool'>
>>>
例:if 10>3:
print("you are right")
>>>
you are right
>>>
运算符
1、数字运算符:+,-,*,/,**,%,//
>>> print(10 + 2)
12
>>> print(10 - 2)
8
>>> print(10 * 2)
20
>>> print(10 / 2)
5.0
>>>
>>> print(10 ** 2)
100
>>> print(10 % 2)
0
>>> print(10 // 2)
5
>>>
2、比较运算符
>>> print(10 != 10)
False
>>> print(10>10)
False
>>> print(10>=10)
True
>>> print(10<=10)
True
>>> print(10<10)
False
>>> print(10 == 10)
True
>>> print(10 > "a") #数字类型不能与字符串类型比较
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'int' and 'str'
>>> print("abcd" > "abce")
False
总结 #字符串类型的比较根据字符串字符从左到右开始比较,如果第一个字符谁对应的ASCII码值大则那个字符串大,第一个字符相同则判断第二个字符,以此类推
>>> print(["123",12]>["abc",12])
False
总结:#列表类型的比较是从第一个元素开始比较,第一个元素谁大则哪个列表大,如果第一个元素相等则比较第二个元素,以此类推,注意,如果比较的元素不是同一类型则报错,如下:
>>> print(["123",12]>[123,12]) #
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'str' and 'int'
>>>
3、赋值运算符:“=”,age = 19
交叉赋值:
>>> x = 10
>>> y = 20
>>> x,y = y,x
>>> print(x,y)
20 10
>>>
等同于:
>>> x = 10
>>> y = 20
>>> z = x
>>> x = y
>>> y = z
>>> print(x,y)
20 10
>>>
增量赋值:
a = a + 1 <==> a += 1
a = a - 1 <==> a -= 1
a = a * 2 <==> a *= 2
a = a / 2 <==> a /= 2
a = a%2 <==> a %= 2
a = a // 2 <==> a //= 2
a = a ** 3 <==> a **= 3
解压赋值:将列表中的每个元素分别赋值给变量
>>> L1 = [1,2,3,4]
>>> a,b,c,d = L1
>>> print(a,b,c,d)
1 2 3 4
>>>
接收元素变量必须与元素个数一致,否则报错,如下:
>>> val = [1,2,3,4,5]
>>> a,b,c = val
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 3)
>>>
当列表元素比较多,这时候只想取前两个值和后两个值怎么办呢,看下面代码
>>> L2 = [1,2,3,4,5,6,7,8]
>>> a,b,*_,c,d = L2 # *_表示将中间不想取的值赋值给"_",此时“_”是个列表
>>> print(a,b,*_,c,d) #打印*_时即将列表“_”中的元素打印出来
1 2 3 4 5 6 7 8
>>> print(a,b,_,c,d)
1 2 [3, 4, 5, 6] 7 8
>>> print(a,b,c,d)
1 2 7 8
>>>
总结:*_这种方式可以帮我们解决解压赋值必须所有元素都取的困扰,_作为变量来使用,也可以用其他字符替代。但这种方式只在python3中有效
4、逻辑运算符: and 、 or 、not,判断条件使用
and :逻辑与,判断左右两个条件,当两个条件任意一个为假时,整体结果为假
>>> print(10 > 2 and "a" > "b")
False
>>>
or:逻辑或,判断左右两个条件,当两个条件任意一个为真时,整体结果为真
>>> print(10 > 2 or "a" > "b")
True
>>>
not:逻辑取反,取条件真假相反的结果
>>> print("a" > "b")
False
>>> print(not "a" > "b")
True
>>>
6、身份运算:is 比较内存地址是否相同 而“”==“”是比较值
>>> x = 10
>>> y = 10
>>> print(x is y)
True
>>> id(x)
140714018137200
>>> id(y)
140714018137200
>>>
注意:变量值相等,内存地址不一定相同,内存地址相同,值一定相等
day03用户交互、基本数据类型、运算符的更多相关文章
- Python用户交互以及数据类型
一.用户交互与格式化输出 1.用户交互 1.1什么是用户交互 程序等待用户输入的数据,程序执行完毕后为用户反馈信息. 1.2为何程序要与用户交互 为了让计算机像人类一样与用户交互 1.3使用方式 在p ...
- Python语法之用户交互与基本运算符
一.与用户交互 1.接收用户输入 python3中的input会把用户输入的所有内容都存成str类型 age = input("请输入您的年龄: ") # "内容&quo ...
- python用户交互与基本运算符
与用户交互 输入 获取用户输入 username = input('请输入您的用户名>>>:') '''将input获取到的用户输入绑定给变量名username''' print(u ...
- python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支
python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...
- Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作
目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...
- Day01-基础数据类型/用户交互/流程控制之-if
1.基础数据类型 什么是数据类型 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘ ...
- python基础数据类型初始,用户交互
一.基础数据类型初始 1.数字:int 1,2,3 print(100,type(100)) ',type('100')) 查看数据类型的方法:type()函数 取值范围: int(整型) 在32位 ...
- 1、python简介-变量-注释-数据类型-用户交互-if语句-while循坏
一. 计算机是什么 基本组成: 主板+cpu+内存 cpu: 主频, 核数(16) 内存:大小(8G, 16G, 32G) 型号: DDR3, DDR4, DDR5, 主频(海盗船,玩家国度) 显卡: ...
- Python的基本数据类型,用户交互
整数: int 常见的数字都是int类型. 用于计算或者大小的比较 在32位机器上int的范围是: -2**31-2**31-1,即-2147483648-2147483647 在64位机器上int的 ...
随机推荐
- springmvc静态资源处理
1.配置springmvc拦截规则,注意不能拦截 /*,这样的话,会对所有请求默认拦截,而应该拦截 /, 这样servlet会先走默认的拦截规则,默认拦截规则找不到后,才会走 / 这个规则,这样静态资 ...
- excel 单元格0 不显示的最佳方法
excel单元格设自定义格式, 条件:可以单元格内容判断后再设置格式.条件格式化只限于使用三个条件,其中两个条件是明确的,另个是“所有的其他”.条件要放到方括号中.必须进行简单的比较.例如这个条件:单 ...
- SPA单页面应用
什么是单页应用 单页Web应用,就是只有一张Web页面的应用.浏览器一开始会加载必需的HTML.CSS和JavaScript,之后所有的操作都在这张页面完成,这一切都由JavaScript来控制.因此 ...
- Debug method
#define DEBUG(format,...) printf("Ray.he file:"__FILE__" func:%s() line:%d, print &qu ...
- printf以%d形式输出浮点数的问题
若运行时从键盘上输入9876543210l,则下面程序的输出结果是 int main(){ int a;float b,c; scanf("%2d%3f%4f",&a,&a ...
- UVa 10795 - A Different Task 对称, 中间状态, 数位DP 难度: 3
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- 自定义xadmin后台首页
登陆xadmin后台,首页默认是空白,可以自己添加小组件,xadmin一切都是那么美好,但是添加小组件遇到了个大坑,快整了2个礼拜,最终实现想要的界面.初始的页面如图: 本机后台显示这个页面正常,do ...
- CF712E [Memort and Casinos]
题意 每次询问一段区间[l,r],求从最左边走到最右边(r+1)的概率(若走到l-1,则GG了),每个点上写有向右走的概率.支持单点修改. 思考 若只查询一次,那只要知道每个点在不走到l-1的情况下, ...
- 1014 2018 使用FLAG counter
AmazingCounters.com 不能用了,服务器访问不了了,之前的博客浏览量也看不到了,1014号换了个新的--FLAG counter,就是博客右边那个.
- :代理模式:proxy
#ifndef __PROXY_H__ #define __PROXY_H__ class Subject { public: Subject(){} virtual ~Subject(){} vir ...