快捷搜索:  汽车  科技

python基本运算符编程(Python自动化之Python输入函数)

python基本运算符编程(Python自动化之Python输入函数)a b c = 20 30 40 print(a b c) 运行结果:20 30 40print('----交换两个变量的值----') a b = 10 20 print('交换之前:' a b) 运行结果:交换之前: 10 20 a b = b a print('交换之后:' a b) 运行结果:交换之后: 20 102.3 比较运算符对变量或表达式的结果进行大小、真假比较a = 20 a = 30 print(a) 运行结果:50 a -= 10 print(a) 运行结果:40 a *= 2 print(a) 运行结果:80 print(type(a)) 运行结果:<class 'int'> a /= 3 print(a) 运行结果:26.666

嗨咯,大家好,马上就周末了!祝大家周末愉快。今天我们主要介绍python中的输入函数、运算符(附有代码)、Python中input()函数用法。

input函数

(1)作用:接收来自用户的输入

(2)返回值类型:输入值的类型为str

(3)值的存储:使用=对输入的值进行存储

python基本运算符编程(Python自动化之Python输入函数)(1)

运算符(附有代码)2.1 算数运算符

print(1 1) #加法运算2 print(1-1) #减法运算0 print(2*4) #乘法运算8 print(1/2) #除法运算0.5 print(11//2) #整除运算5 print(11%2) #取余运算1 print(2**2) #表示2的2次方4 print(2**3) #表示2的3次方 2*2*2=8

print(9//4) # 2 print(-9//-4) # 2 print(9//-4) # -3 print(-9//4) # -3 一正一负的整数公式,向下取整 print(9%-4) # -3 公式,余数=被除数-除数*商 9-(-4)*(-3) print(-9%4) # 3 -9-4*(-3)-->32.2 赋值运算符

(1)执行顺序:右→左

(2)支持链式赋值: a = b = c = 20

i = 3 4 print(i) a = b = c = 20 #链式赋值 print(a id(a)) 运行结果:20 1701866793872 print(b id(b)) 运行结果:20 1701866793872 print(c id(c)) 运行结果:20 1701866793872

(3)支持参数赋值: =、-=、*=、/=、//=、%=

a = 20 a = 30 print(a) 运行结果:50 a -= 10 print(a) 运行结果:40 a *= 2 print(a) 运行结果:80 print(type(a)) 运行结果:<class 'int'> a /= 3 print(a) 运行结果:26.666666666666668 print(type(a)) 运行结果:<class 'float'> a //= 2 print(a) 运行结果:13.0 print(type(a)) 运行结果:<class 'float'> a %= 3 print(a) 运行结果:1.0

(4)支持系列解包赋值:a b c=20 30 40

a b c = 20 30 40 print(a b c) 运行结果:20 30 40

print('----交换两个变量的值----') a b = 10 20 print('交换之前:' a b) 运行结果:交换之前: 10 20 a b = b a print('交换之后:' a b) 运行结果:交换之后: 20 102.3 比较运算符

对变量或表达式的结果进行大小、真假比较

#比较运算符,比较运算符的结果为bool类型 a b = 10 20 print('a>b吗?' a>b) print('a<b吗?' a<b) print('a<=b吗?' a<=b) print('a>=b吗?' a>=b) print('a==b吗?' a==b) print('a!=b吗?' a!=b) ''' 一个 = 称为赋值运算符, == 称为比较运算符 一个变量由三部分组成,标识,类型,值 ==比较的是值还是标识呢?比较的是值 比较对象的标识使用的是 is ''' a = 10 b = 10 print(a==b) #True说明a与b的value相等 print(a is b)#True说明a与b的id标识相等

#以下代码没学过,之后学 list1 = [11 22 33 44] list2 = [11 22 33 44] print(list1 == list2) 运算结果:True print(list1 is list2) 运算结果:False print(id(list1)) 运算结果:2305705542656 print(id(list2)) 运算结果:23057036259202.4 布尔运算符

#布尔运算符 a b = 1 2 print('-----and 并且-----') print(a==1 and b==2) #True print(a==1 and b<2) #False print(a!=1 and b==2) #False print(a!=1 and b!=2) #False print('-----or 或者-----') print(a==1 or b==2) #True print(a==1 or b<2) #True print(a!=1 or b==2) #True print(a!=1 or b!=2) #False print('-----not-----') f =True f2 = False print(not f) #False print(not f2) #True print('-----is 与not in-----') s = 'helloworld' print('w'in s) #True print('k'in s) #False print('w'not in s) #False print('k'not in s) #True2.5 位运算符

(1)位与& :对应数位都是1,结果数位才是1,否则为0

(2)位或| :对应数位都是0,结果数位才是0,否则为1

(3)左移位运算符<< : 高位溢出舍弃,低位补0

(4)右移位运算符>> : 低位溢出舍弃,高位补0

print(4&8) #按位与& 同为1时结果为1 运算结果:0 print(4|8) #按位或|,同为0时结果为0 运算结果:12 print(4<<1) #向左移动1位,相当于乘以2 运算结果:8 print(4<<2) #向左移动2位,相当于乘以4 运算结果:16 print(4>>1) #向右移动1位,相当于除以2 运算结果:2 print(4>>2) #向右移动2位,相当于除以4 运算结果:1三、运算符的优先级

()→算数运算→位运算→比较运算→布尔运算

Python中input()函数用法

带提示的input()函数及其常见问题

在初见input()时,我发现了 variable = input(prompt)这个输入格式,一下子惊如天人。觉得Python的input()函数的用户交互真是友善,从此不再需要再像其他一些编程语言一样单独写一个用户提示语。以下面一个片段为例

python基本运算符编程(Python自动化之Python输入函数)(2)

可以看到,当我们敲击Enter以后,屏幕上会显示我们编写的提示性语言,并等待用户输入。这样给交互性程序编写带来了便利。

但是,我很快在使用variable = input(prompt)这个形式时遇到了问题,当我理所当然的把input(prompt)中的prompt当作print()函数使用时,我发现input()并不能将变量赋值返回给程序。也就是说,如果我们在input()的提示性语言中加入了变量,就很可能出错,例如:

python基本运算符编程(Python自动化之Python输入函数)(3)

这个问题的原因是variable = input(prompt)是直接以字符串形式输出提示性的prompt语言,不能像print()函数一样将值赋给变量并输出。那么这是不是意味着我们不能将变量加入其中呢?毕竟在很多循环中,提示性的语言是需要根据循环次数改变的。

那么实际上我们是可以加入的,解决方法就是上面讲过的强制类型转换,正因为我们已经知道input()以字符串形式输出,所以需要我们将变量转化成string型!但是,需要注意的是,使用的符号是用于字符串连接的“ ”而不是分割字符串和变量的“ ”——这里需要注意。

python基本运算符编程(Python自动化之Python输入函数)(4)

利用input()一次性输入多个变量值

我们在编程的时候,常常需要一次性给多个变量赋值。在C语言和C 中,我们使用scanf("%d %d" &a &b)这样的方式进行输入,其数据以空格为分界。那么在python中我们该如何一次性输入多个值呢?

(1):利用split()函数进行输入,同时,我们不仅可以利用split()函数一次性输入多个数,我们还可以设置分隔符,除了传统的空格形式,也可以用逗号“,”这种更符合语言习惯的方式分隔输入字符。其原理是因为input()输入了一个字符串,而split()函数能根据设定的分割点分割字符串并返回分割后的字符串列表,所以能实现一次性输入多个数据值。范例如下:

python基本运算符编程(Python自动化之Python输入函数)(5)

但是,这样输入的值仍是字符串型,我们在上面已经说过字符串无法直接参与运算,最好输入时进行类型转换,那么,按照我们第二点的方法转换多输入值可行吗?

python基本运算符编程(Python自动化之Python输入函数)(6)

可以看到,这样是不可以的,那么为什么上面单输入可以而多输入报错呢?原因我们其实已经说过了,split()函数返回的是一个列表,spring当然能被转换成int型,但是列表是没法被这样直接转换的,所以我们需要用另一个函数map()来实现多输入的强制类型转换。

map()函数接受两个接收两个参数,一个是函数,一个是序列,map()将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。我们将传入的函数设置为强制类型转换函数int,则split()函数返回的列表里的每一个值都将被强制转换类型,从而实现多输入的类型转换。范例如下:

python基本运算符编程(Python自动化之Python输入函数)(7)

附:input()函数结果的强制转换

choice=input('请选择1或2') if choice=='1': print('正确') else: print('错误')

上面这段代码很简单,仅有两个选项,如果上面代码不是两个,而是几十个,几百个,难道我们要一个一个打'1' '2' '3' '4' '5' .....'200' '201'..... 这时我们要想办法简单一点,那就是把所有的数据的类型都转换成整型,但是上面不是说了input()函数的返回都为string类型吗?其实在某些特殊情况下是可以被强制转换的,

choice=int(input('请选择1或2')) if choice==1: print('正确') else: print('错误') ------------------------------ 请选择1或2 1 正确

只要在input()函数前面加上int(),就可以把input()函数的结果强制转换成整数。

那么我们什么时候会用到把结果强制转换成整数的时候呢,当我们想要的结果是数字的时候。例如年龄,工资,身高,体重等这些数字时。

例如:我们要对全班的同学按照身高进行分组,这时我们就需要用到整数。

height=int(input('请问你的身高是:')) if 0<height<=150: print('你被分到了1组') elif 150<height<=180: print('你被分到了2组') else: print('你被分到了3组) ----------------------------------- 请问你的身高是:185 你被分到了3组

到此这篇关于Python自动化之Python输入函数、运算符(附有代码)及函数用法的文章就介绍到这了,希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以私聊我或关注公众号“特斯汀软件测试”。免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

猜您喜欢: