python交互数据_Python —— 与用户交互、基础数据类型、运算符

一.程序与用户交互

1.1、什么是与用户交互?

程序等待用户输入一些数据,然后程序执行完毕后为用户反馈信息。

1.2、为何程序要与用户交互?

为了让计算机像人一样能够与用户交互。

1.3、如何使用?

在python3中:input

name = input('请输入您的姓名:')

请输入您的姓名:Alex print(name,type(name))

Alex

python3中,input会将用户输入的任何内容都存为字符串类型。

python2中,input要求用户必须输入一个明确的数据类型,输入什么类型就存为什么类型。

python2中,raw_input会将用户输入的任何内容都存为字符串类型与python3中的input功能一样。

1.4、格式化输出

1)、什么是格式化输出?

把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。

2)、为什么要格式化输出?

我们经常会输出具有某种固定格式的内容,比如’亲爱的xxx您好!您XX月的话费是xxx,余额是xxx',我们需要做的就是将xxx替换为具体的内容。

3)、如何格式化输出?

这就用到了占位符:%s、%d。

#%s占位符可以接收任何类型的值 # %d占位符只能接收数值数字

print('亲爱的%s您好!您%d月的话费是%d,余额是%s' %('Tony',11,84.5,112))#e.g. 接收用户输入打印成指定格式

name = input('your name:') #用户输入年龄

age = input('your age:') #用户输入年龄

sex = input('your sex:') #用户输入性别

job = input('your job:') #用户输入职业

print('-'12+'info of %s' %(name)+'-'12)print('Name : %s' %(name))print('Age : %s' %(age)) #用户输入数字,会存成字符串,无法传给%d

print('Sex : %s' %(sex))print('Job : %s' %(job))print('-'16 + 'end' + '-'16)#=====================================

'''------------info of tony ------------

Name : xxx

Age : xxx

Sex : xxx

Job : xxx

----------------end----------------'''

二、数据类型

2.1、数字类型:int与float

1)、整型:int

作用:记录年龄、登记、QQ号、各种号码。

#age = 18 等同于 age = int(18)#print(age,type(age))

2)、浮点型:float

作用:记录身高、体重、薪资等。

#salary = 2.1 等同于 salary = float(2.1)#print(salary,type(salary))

2.2、字符串类型:str

作用:记录描述性质的数据,比如人的名字,性别,家庭地址,公司简介等。

定义:再引号内按照从左到右的顺序依次包含一个个数据,引号可以是单引号、双引号、三引号。

name = 'egon'

print(name,type(name))

字符串之间可以相加:本质是申请新的内存空间,然后拷贝相加的字符串到新的空间,效率不高。

a = 'Hello,'b= 'World!' print(a+b)#结果Hello,World!

字符串还可以做乘法运算

print('Hello'*5)#结果HelloHelloHelloHelloHello

2.3、列表类型:list

作用:记录/存多个值,可以方便地取出指定位置的值,比如人的多个爱好,一堆学生姓名。

定义:再[]内用逗号分隔开多个任意类型的值。

l = [10,3,1,'egon',['a','b']] #l = list([10,3,1,'egon',['a','b']]) print(l,type(l))

print(l[0])10

print(l[3])'egon'

2.4、字典类型:dict

作用:记录多个key:value值,优势是每一个value都有其对应关系/映射关系key,而key对value有描述性的功能

定义:再{}内用逗号分隔开多个key:value元素,其中value可以是任意数据类型,而key通常应该是字符串类型。

info = {'name':'egon','sex':'male','age':18} #info = dict({'name':'egon','sex':'male','age':18})

print(type(info))print(info['name'])

2.5、布尔类型:bool

作用:用来作为判断的条件去用

定义:

tag = true #tag = bool(true)

tag =falseprint(type(tag))

通过判断去得到布尔值:

age = 18

print(age == 18) #==比较的是值是否相同

#====================================

x = 1y= 1

print(x is y) #is比较的是id地址是否一样

三、运算符

3.1、算术运算符

3.2、比较运算符

3.3、赋值运算符

3.3.1、增量赋值

3.3.2、链式赋值

如果我们想把同一个值同时赋值给多个变量名,可以这么做

z = 10y=z

x=y

x,y,z

(10,10,10)

链式赋值指的是可以用一行代码搞定这件事

x = y = z = 10x,y,z

(10,10,10)

3.3.3、交叉赋值

我们定义两个变量m与n

m = 10 n = 20

如果我们想将m和n的值交换过来,可以这样做

m = 10n= 20a=m

m=n

n=aprint(m,n) 20,10

交叉赋值指的是可以用一行代码搞定这件事

m = 10n= 20m,n= n,m #交叉赋值

print(m,n)

3.3.4、解压赋值

如果我们想把列表中的多个值取出来依次赋值给多个变量名,可以这么做

nums=[11,22,33,44,55]

a=nums[0]

b=nums[1]

c=nums[2]

d=nums[3]

e=nums[4]

a,b,c,d,e

(11,22,33,44,55)

解压赋值指的是一行代码可以搞定这件事

nums=[11,22,33,44,55]

a,b,c,d,e=nums #nums包含多个值,就好比一个压缩包,加压赋值因此得名 a,b,c,d,e

(11,22,33,44,55)

注意,上述解压赋值,等号左边的变量名个数比喻与右边包含值的个数相同,否则会报错

但如果我们只想去头尾的几个值,可以用*_匹配。

3.4、逻辑运算符

3.4.1、连续多个and

可以用and连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为False,则无需再往右判断,可以立即判定最终结果就为False,只有在所有条件结果都没True的情况下,最终结果才为True。

2 > 1 and 1 != 1 and true and 3 > 2 #判断完第二个条件,就立即结束,得的最终结果为False False

3.4.2、连续多个or

可以用or连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为True,则无需再往右判断,可以立即判断最终结果就位True,只有在所有条件的结果都为False的情况下,最近结果才为False

2 > 1 or 1 != 1 or true or 3 > 2 #判断完第一个条件,就立即结束,得的最终结果为True True

3.4.3、混用and、or、not

#and、or、not三者如果混用时,时存在优先级之分的,但在日常开发中我们无需记忆优先级 #应该使用()来区分优先级、提升程序的可读性

(3 > 4 and 4 > 3) or ((1 == 3 and 'x' == 'x') or 3 > 3)

False

3.5、成员运算符

主语:虽然下属两种判断可以达到相同的效果,但我们推荐使用第二种格式,因为not in语义更加明确。

not 'lili' in ['jack','tom','robin']

True'lili' not in ['jack','tom','robin']

True

3.6、身份运算符

需要强调的是:==双等号比较的是value是否想等,而is比较的是id是否相等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值