首页 > 代码库 > 循序渐进-python-03
循序渐进-python-03
运算符是一些符号,它告诉 Python 解释器去做一些数学或逻辑操作。一些基本的数学操作符如下所示:
>>> a=8+9 >>> a 17 >>> b=1/3 >>> b 0.3333333333333333 >>> c=3*5 >>> c 15 >>> 4%3 1
下面是一个计算天数的脚本
#/usr/bin/env python3 #coding:utf8 days = int(input("please enter days:")) mouth = days // 30 day0 = days %30 print "You enter %s days"%days print("Total is {} mouths and {} days".format(mouth,day0))
root@zwjfdisk2016:~/file/1# python days.python please enter days:1000 You enter 1000 days Total is 33 Mouths and 10 Days
也可以用divmod函数实现,divmod(num1, num2) 返回一个元组,这个元组包含两个值,第一个是 num1 和 num2 相整除得到的值,第二个是 num1 和 num2 求余得到的值,然后我们用 * 运算符拆封这个元组,得到这两个值。
>>> import sys >>> c=divmod(100,30) >>> c (3, 10)
#!/usr/bin/env python3 days = int(input("Enter Days:")) print("Total is {} mouths and {} days".format(*divmod(days,30))) oot@zwjfdisk2016:~/file/1# python3 daysv2.py Enter Days:100 Total is 3 mouths and 10 days
效果是一样的
关系运算符
Operator | Meaning |
---|---|
< | Is less than #小于 |
<= | Is less than or equal to #小于等于 |
> | Is greater than#大于 |
>= | Is greater than or equal to#大于等于 |
== | Is equal to #等于 |
!= | Is not equal to#不等于 |
>>> 1 == 1 True >>> 2 > 3 False >>> 23 == 24 False >>> 34 != 35 True
逻辑运算符
对于逻辑 与,或,非,我们使用 and,or,not 这几个关键字。
逻辑运算符 and 和 or 也称作短路运算符:它们的参数从左向右解析,一旦结果可以确定就停止。例如,如果 A 和 C 为真而 B 为假,A and B and C 不会解析 C 。作用于一个普通的非逻辑值时,短路运算符的返回值通常是能够最先确定结果的那个操作数。
关系运算可以通过逻辑运算符 and 和 or 组合,比较的结果可以用 not 来取反意。逻辑运算符的优先级又低于关系运算符,在它们之中,not 具有最高的优先级,or 优先级最低,所以 A and not B or C 等于 (A and (notB)) or C。当然,括号也可以用于比较表达式。
>>> 4 and 3 3 >>> 0 and 2 0 >>> False or 4 or 5 4 >>> 2 > 1 and not 3 > 5 or 4 True >>> False and 3 False >>> False and 4 False
简写运算符
x op= expression 为简写运算的语法形式。其等价于 x = x op expression
>>> a = 3 >>> a += 20 >>> a 23 >>> a /= 1 >>> a 23.0 >>> a /= 2 >>> a 11.5
表达式
通常我们书写表达式的时候,会在每一个运算符左右都放一个空格
>>> a = 123 * (32 - 66/8) >>> a 2921.25
类型转换
类型转换函数 | 转换路径 |
---|---|
float(string) | 字符串 -> 浮点值 |
int(string) | 字符串 -> 整数值 |
str(integer) | 整数值 -> 字符串 |
str(float) | 浮点值 -> 字符串 |
>>> a 2921.25 >>> str(a) ‘2921.25‘ >>> b=str(a) >>> b ‘2921.25‘
做一个数学题
这个程序计算以为数码相机销售人员的工资。他的基本工资是 2500,每售出一台相机他可以得到 200 并且获得 2% 的抽成。程序要求输入相机数量及月销售总额。
#!/usr/bin/env python3 #coding:utf8 basic = 2500 saleone = 200 ticheng = 0.02 count = int(input("输入卖出相机的数量:")) price = float(input("输入相机的总价:")) if price >=2500: saleone_money = (saleone*count) ticheng_money = (ticheng*price*count) print("业绩 = {:6.2f}".format(saleone_money)) print("提成 = {:6.2f}".format(ticheng_money)) print("总收入 = {:6.2f}".format(basic + saleone_money + ticheng_money)) else: print "相机价钱必须大于或者等于2500人民币"
运行下脚本
root@zwjfdisk2016:~/file/1# python sale.py 输入卖出相机的数量:100 输入相机的总价:2500 业绩 = 20000.00 提成 = 5000.00 总收入 = 27500.00 root@zwjfdisk2016:~/file/1# python sale.py 输入卖出相机的数量:100 输入相机的总价:2488 相机价钱必须大于或者等于2500人民币 root@zwjfdisk2016:~/file/1#
本文出自 “有志者,事竟成” 博客,请务必保留此出处http://wuxinglai.blog.51cto.com/9136815/1882025
循序渐进-python-03