第三天运算符--三元操作符

运算符

连接操作数之间符号

算数运算符

+,-,,/,%,*(幂运算),//(地板除)

1/2

0.5

# 除法和取余

a = 1 / 2
b = 10 % 3    # 取余,用来计算整除  判断1~100之间偶数  n % 2 == 0
print(a)
print(b)
0.5
1

# 计算2的3次方  2^3
a =  4 ** 3
print(a)
64

# 地板除  <取商>
a = 4 // 2.0   # 地板除,获取结果的整数部分
print(a)

2.0

算数运算符优先级

  • 先乘除,后加减
  • 小括号解决一切问题(当你优先级不清楚的时候,用小括号即可)
a = (3 - 2*2**4) / 5
b = 32/5
print(a)
print("计算结果:%.2f" % a)
-3.4000000000000004
计算结果:-3.40

练习

    1. 温度转换(华氏温度,摄氏温度,开氏温度)。
    2. 摄氏温度:5.0/9.0 X(华氏温度-32)
    3. 开氏温度:5.0/9.0 X(华氏温度-32)+ 273.15
    4. 今天摄氏温度37度,求华氏温度和开氏温度
    5. 审题: 摄氏温度 37 = 5.0/9.0 X(华氏温度-32)==> 37 X 9.0/5.0=华氏温度-32 ==>华氏温度=37 X 9.0/5.0 + 32
      然后把求到的华氏温度带入开氏温度公式,就可以求出开氏温度
te = 37
fah = 37 * 9.0/5.0 +32
ko = (fah-32)*5.0/9.0+273.15
print("37°转换成华氏温度是:%s" % fah)
print("37°转换成开氏温度是:%s" % ko)

 

37°转换成华氏温度是:98.6
37°转换成开氏温度是:310.15

重要点

算数运算符需要优先级和%

 

赋值运算符

a = 1 # 把1赋值给变量a

=,+=,-=,= *= /= //=

b = a+1

 

a = 1 
a += 1   # a+=1  a = a+1 
print(a)

2

# 批量赋值
a,b,c = 1,2,3
print(a)
print(b)
print(c)
1
2
3

# 交换两个的变量的值<要求点>
a = 1
b = 2
# 其他语言的写法
# c = a
# a = b
# b = c
a,b = b,a
print(a)
print(b)
2
1

练习

  • 半径为r=2.5的圆,求周长和面积
  • 如果是球,求体积 (4/3)πr^3
# 0.1版本写法  硬编码
r = 2.5
c = 2 * 3.14 * r
s = 3.14 * r**2
print(c)
print(s)
15.700000000000001
19.625
 
# 02版本写法  拒绝硬编码
r = 2.5
pi = 3.14
c = 2 * pi * r
s = pi * r**2
v = (4/3)*pi * r**3
print(c)  # 记住格式化
print(s)
print(v)
15.700000000000001
19.625
65.41666666666667

求时间

  • 从今天的00:00:00起,已经过去了27623秒,求现在是几时几分几秒
  • 分析:

    • 一个小时是3600s
      • 一分钟60s
  • 从现在开始,经过XXX时间,是几号~~~
seconds = 27623
hour = seconds // 3600   # 得到小时数
minsS = seconds % 3600   # 得到剩下的秒数
mins = minsS // 60
ss = minsS % 60

print("%d时%d分%d秒" % (hour,mins,ss))
7时40分23秒

比较运算符

< >= <= != ==

比较运算符返回的结果是布尔值

1 < 2
True

逻辑运算符

js中,也是其他语言中 && || !

或且非

and or not

 

1<2 and 2<3  # 你把and当成*号,然后把true当成1,把false当成0
# and 符号,要求两侧必须为true才是true 有一个假就是false  
True

3<=2 and 1>2
False

# or运算符
1< 2 or 2>1   # 你把and当成+号,然后把true当成1,把false当成0
# or 符号,要求两侧有一个为true才是true 
True

not 1<0
True

逻辑运算符中的短路操作

and *

  • 1 < 0 and 2>1 # 你们要注意,千万不要在短路的后面写重要代码
  • 1 > 0 or false
 

特殊运算符

邪性运算符

  • is
  • is not
  • del

is 要求地址和值都一样 # 是IDE给我们做了特殊的处理

a = 2345
b = 2345
print(id(a))  # id你理解成在内存中编号 
print(id(b))
a is b
1997050404528
1997050404080

a = 2 # python会提前预制一些值,-5,270  内存中的位置是一样的
b = 2
print(id(a))  # id你理解成在内存中编号 
print(id(b))
a is b 
1534422064
1534422064
True

aaa = 123
ccc = aaa + 2
# .... ... 
del aaa  # 内存清理一下,360清除垃圾 ,你即使使用了del,那么原则上,python不是立马删除的,他是放到一个队列中,然后顺序删除
aaa

 

标准输入和输出

  • input
  • print

 

age = int(input("请输入你的年纪"))  # input得到用户的输入是字符串
# 需要判断一下这个字符串是不是全部数字  isdigit
print("你的年纪是:%d" % age)
请输入你的年纪12
你的年纪是:12

程序结构

  • 所有的编程语言,顺序,分支,循环

  • 编程不是一门艺术(独一无二),工业产品

  • 2025中国制造 编程(人工智能,大数据,云计算... ...) 儿童编程 编程就是一门技能,和现在的考驾照一样。

  • 顺序,从上到下一步一步执行

  • 分支,满足条件之后,就执行对应的代码模块
  • 循环,满足条件之后,不断的重复执行相同功能的代码块

if 语句

语法:

if (条件表达式):
    指定代码块

Python代码格式化问题 tab还是空格的问题 python2.x 时代,tab默认4个空格,tab和空格没有严格要求tab=4个空格
python3.x 时代,tab就是tab 空格就是空格

python是仪式感特别强的语言。

pass语句

当你不知道干啥的时候,但是代码写了还不想删除,就写pass

if else

满足条件就执行if不满足就执行else elif

else对应关系

在python这门语言就不存在对应不明确的情况

if(xxx){
if(xxaa){
}
}
else{

}

SytaxError

 

if 2 > 1:
    # 想要执行一些代码,但是你没有想好
    # 插入数据库
    # 执行一个网络爬虫
    #  。。。。 
    pass
else:
    pass 
    
print("xxxx")
xxxx

根据成绩给出评分

  1. 得到90分以上,优秀
  2. 80分以上,中等
  3. 70份以上,差

 

score = int(input("请输入你的成绩"))
if score > 90:
    print("优秀")
if score > 80 and score<=90:
    print("中等")
if score > 70 and score<=80:
    print("")
请输入你的成绩71
差

# 如果大于90分,给优秀
# 如果小于90分,两种状态,大于60分给及格,小于60分,给不及格

score = int(input("请输入你的成绩"))
if score > 90:
    print("优秀")
else:   # 研究一下
    if (score>60):
        print("及格了")
    else:
        print("不及格")
请输入你的成绩59
不及格

小练习

模拟上海出租车收费系统

  1. 3公里以内,收取基本起步费用13元
  2. 超过3公里,则2.3/km
  3. 空驶费,超出15公里,每公里加收单价50%空驶费用,即3.45

需求:输入驾驶里程后计算费用

.

km = input("请输入你的里程数:")
km = float(km)   # 2.1 浮点数
if km <= 3:
    print("你的费用是13")

if km > 3 and km <=15 :
    price = 13 + (km-3) * 2.3
    print("你的价格是:¥%.2f" % price)

if km >15 :
    price = 13 + (15-3) * 2.3 + (km-15) * 3.45
    print("你的价格是:¥%.2f" % price)
    
    
请输入你的里程数:17
你的价格是:¥47.50

三元操作符

python 压根没有三元运算符,遭到了其他语言的鄙视。

guido van

元?操作数

  • 1+1 二元操作符 - 二元操作符

一元 not not 1

三元操作符 ? :

 

a = 2 if 1>1 else 3   # 三元运算符  写法    a = 1 if a else b

#if 2> 1
#    a = 2
#else 
#   a =3
 
a 

3

练习

练习1

  • a,b两个数由用户输入
  • 比较大小,把最大值存入变量c

练习2

  • a,b,c由用户输入
  • 比较大小
a = int(input("请输入a:"))
b = int(input("请输入b:"))
c = a if a>b else b
print(c)
请输入a:22
请输入b:11
22

a = int(input("请输入a:"))
b = int(input("请输入b:"))
c = int(input("请输入c:"))
# 三元运算符  陈独秀 
d = (a if a>b else b) if (a if a>b else b) > c else c
print(d)
请输入a:66
请输入b:22
请输入c:11
66
posted @ 2018-07-26 14:42  醉灬落尘  阅读(419)  评论(0编辑  收藏  举报