PYTHON1.day02


比较运算符:
     <     小于
     <=    小于等于
     >     大于
     >=    大于等于
     ==    等于
     !=    不等于
   语法:
     左表达式 < 右表达式

  说明:
     比较运算符返回布尔类型的值
   示例:
     10 < 20  # True
     1 + 10 > 2 + 8  # True
     10 < 20 <= 30  # True

1

2
  
数值对象的构造(创建)函数
float(obj) 

      用字符串或数字转换为浮点数,如果不能出参数则返回0
int(x,base=10) 或 int(x=0) 

      用数字或字符串转换为整数,如果不给出参数,则返回0
complex(r=0.0, i=0.0) 

      用数字创建一个复数(实部为r, 虚部为i)
bool(x) 

       用x创建一个布尔值(True/False)

3

4

5jpg

6jpg

7

8

9

函数调用:
   函数名(传参列表)
   说明:
       函数调用是表达式,一定会返回一个对象的引用关系

   bool(x) 返回假值的情况
       None 空值
       False  布尔假值
       0, 0.0, 0j
   ----以下内容后面会讲----
      ''   空字符串
      ()   空元组
      []   空列表
      {}   空字典
      set() 空集合
      ...

练习:
   将数字3.14 用变量pi绑定
   将pi变量转为整数 用变量i绑定
   将pi变量与i变量相减,结果用变量f绑定
   1. 判断f是否等于0.14? 为什么?
   2. 删除所有的变量
   (用交互模式来做)


内建的数值型函数:
   abs(x)  取x的绝对值
  round(number[, ndigits])

   对数值进行四舍五入, ndigits是小数向右取整的位数,负数表示向左取整
   pow(x, y, z=None) 相当于 x ** y 或 x ** y % z

   help() 函数可查看函数帮助文档
   >>> help(函数名)

10

11jpg

12

语句 statement
   1.语句是由一些表达式等组成,通常一条语句可以独立执行来完成一部分事情并形成结果
   2.一条语句建议写在一行内
   3.多条语句写在一行内需要用分号(;) 分开

   示例:
     print('hello')
     x = 100 + 200
     print(x)
     # 写在一起为:
     print('hello'); x = 100 + 200; print(x)


换行:
   1.显示换行:
     折行号 \
   2.隐藏式换行:
     所有的括号内换行,称为隐式换行
     括号: (), [], {}

  示例:
     i = 1 + 2 + 3 \
         + 4 + 5
     print(i)  # 15 用'\'显式换行

    i = (1 + 2 + 3
         + 4 + 5)  # 括号要成对出现,会隐式换行直到找到对应的括号为止

13

基本输入输出
基本输入函数 input
   作用
     从标准输入设备上读取一个字符串(末尾的换行符会被删除)   
   格式:
     input('提示字符串')
   说明:
   返回输入的字符串(仅python3)
     '提示字符串' 可以为空
  
   示例见:
     code/01_input.py

  1 # 01_input.py
  2 
  3 # 此示例示意input函数的用法
  4 
  5 s = input("请输入字符串: ")
  6 print("您输入的字符串是:", s)
  7 
  8 # print(s + 1)  # 报错,字符串不能直接和数字相加
  9 i = int(s)  # 将字符串转换为数字
 10 print(i + 1)  # 数字可以和数字相加
 11 

14.0

14.3

基本输出函数 print
   作用:
   将一系列的值以字符串形式输出到标准输出设备上,默认为终端
   格式
     print(value, ..., sep=' ', end='\n')
   选项的关键字参数为:
     sep 两个值之间的分隔符,默认为一个空格
     end 输出完毕后在流末尾自动追加一个字符,默认为换行符'\n'
   示例见:
     code/02_print.py

  1 # 02_print.py
  2 
  3 
  4 # 此示例示意标准输出函数print的用法
  5 print(1, 2, 3, 4)  # 1 2 3 4
  6 print('===以下是给定sep="#"的打印方式')
  7 print(1, 2, 3, 4, sep="#")  # 1#2#3#4
  8 print('以下关键字参数end="\n\n\n\n\n"来换五行新行')
  9 print(1, 2, 3, 4, end="\n\n\n\n\n")  # 换5行
 10 print(6789, end="")  # 不换行
 11 print("我是程序的最后一句")
 12 

15.0

16

17

18

练习:
   1. 今天是小明20周岁的生日,假设每年365天,计算他过了多少个星期,余多少天
   2. 分三次输入当前的小时,分钟,秒数,在终端打印已距离凌晨 0:0:0过了多少秒?

  1 # 01_age.py
  2 
  3 # 练习:
  4 #   1. 今天是小明20周岁的生日,假设每年365天,
  5 #   计算他过了多少个星期,余多少天
  6 
  7 age = 20
  8 days = 20 * 365
  9 weeks = days // 7  # 多少个星期
 10 day = days % 7  # 余多少天
 11 print("小时过了:", weeks,
 12       "个星期,余", day, "")
 13 

360截图20180916133704374

  1 # 02_second.py
  2 
  3 # 2. 分三次输入当前的小时,分钟,秒数,
  4 # 在终端打印已距离凌晨 0:0:0过了多少秒?
  5 
  6 s = input("请输入小时: ")
  7 hour = int(s)  # 将字符串转为整数
  8 s = input("请输入分钟: ")
  9 minute = int(s)
 10 s = input("请输入秒: ")
 11 second = int(s)
 12 
 13 seconds = hour * 3600 + minute * 60 + second
 14 print("距离0:0:0已过了", seconds, "")
 15 

20.1
if 语句
   作用:
   让程序根据条件选择性的执行某条语句或某些语句
   说明:
   if 语句又叫条件语句,也叫分支语句
   语法:
     if 真值表达式1:
       语句块1
     elif 真值表达式2:
         语句块2
     elif 真值表达式3:
         语句块3
     ...
     else:
         语句块4
   语法说明:
     elif子句可以有0个,1个或多个
     else子句可以有0个或1个且只能放在此if语句的最后
   要求:
     if语句内部的语句通常要以4个空格的缩进来表示包含关系,相同的缩进格式代表相同的所属级别

  示例见:
     code/03_if.py

  1 # 03_if.py
  2 
  3 
  4 # 此示例示意用if语句来判断奇数或偶数
  5 # 输入一个数,让计算机判断是奇数还是偶数
  6 
  7 s = input("请输入一个数: ")
  8 n = int(s)  # 转换为整数
  9 
 10 if n % 2 == 0:  # 如果n对2求余等于0则一定是偶数
 11     print("您输入的是偶数")
 12 else:  # 否则
 13     print("您输入的是奇数")
 14 

22

练习:
   任意输入一个数:
   1. 判断这个数是否大于100
   2. 判断这个数是否小于0
   3. 判断这个数是否在20 ~ 50之间

  1 # 03_if_exercise.py
  2 
  3 # 练习:
  4 #   任意输入一个数:
  5 #   1. 判断这个数是否大于100
  6 #   2. 判断这个数是否小于0
  7 #   3. 判断这个数是否在20 ~ 50之间
  8 
  9 n = int(input("请输入一个数: "))
 10 
 11 # 1. 判断这个数是否大于100
 12 if n > 100:
 13     print(n, "大于100")
 14 else:
 15     print(n, "不大于100")
 16 
 17 # 2. 判断这个数是否小于0
 18 if n < 0:
 19     print(n, "小于0")
 20 else:
 21     print(n, "不小于0")
 22 
 23 # 3. 判断这个数是否在20 ~ 50之间
 24 if 20 < n < 50:
 25     print(n, "在20~50之间")
 26 else:
 27     print(n, "不在20~50之间")
 28 

23

if-elif-else 示例见:
   code/04_if_elif_else.py

  1 # 04_if_elif_else.py
  2 
  3 # 输入一个数字,判断这个数是0,还是正数,还是负数
  4 
  5 n = int(input("请输入一个数: "))
  6 
  7 if n == 0:
  8     print("您输入的是0")
  9 elif n > 0:
 10     print("您输入的是正数")
 11 else:
 12     print("您输入的是负数")

25


练习:
   1. 输入个季度 1~4 输出这个季度有哪儿几个月,如果输入不是1~4的数,提示用户您的输入有误!

  2. 输入一年中的月份(1~12), 输出这个月在哪儿个季度,如果输入的是其它数,提示您的输入有误!

 

  1 # 1. 输入个季度 1~4 输出这个季度有哪儿几个月,
  2 #   如果输入不是1~4的数,提示用户您的输入有误!
  3 
  4 season = int(input("请输入一个季度(1~4): "))
  5 
  6 if season == 1:
  7     print("春季有1,2,3月")
  8 elif season == 2:
  9     print("夏季有4,5,6月")
 10 elif season == 3:
 11     print("秋季有7,8,9月")
 12 elif season == 4:
 13     print("冬季有10,11,12月")
 14 else:
 15     print("您的输入有误!")
 16 

28

  1 # 05_month.py
  2 
  3 
  4 # 2. 输入一年中的月份(1~12), 输出这个月在哪儿个
  5 #    季度,如果输入的是其它数,提示您的输入有误!
  6 
  7 month = int(input("请输入月份: "))
  8 if 1 <= month <= 3:
  9     print("春季")
 10 elif 4 <= month <= 6:
 11     print("夏季")
 12 elif 7 <= month <= 9:
 13     print("秋季")
 14 elif 10 <= month <= 12:
 15     print("冬季")
 16 else:
 17     print("您的输入有误!")
 18 

30

if 语句的真值表达式
   if 100:
       print("真值")
   # 等同于
   if bool(100):
       print("真值")

bool(x) 返回假的情况:
   x为:
     0, 0.0, 0+0j, False, None,
     ''(空字符串)
     [] 空列表
     {} 空字典
     set() 空集合
     () 空元组
     ....


if语句嵌套
   if语句本身是由多条子句组成的一条复合语句
   if语句可以作为语句嵌套到另一个语句的内部

示例见:
   code/05_if_embed.py

  1 # 05_if_embed.py
  2 
  3 # 根据输入的月份来判断是哪儿个季度
  4 month = int(input("请输入月份(1~12): "))
  5 
  6 if 1 <= month <= 12:
  7     print("是合法的月份")
  8     if month <= 3:
  9         print("春季")
 10     elif month <= 6:
 11         print("夏季")
 12     elif month <= 9:
 13         print("秋季")
 14     else:
 15         print("冬季")
 16 else:
 17     print("您的输入有误!")
 18 
 19 

练习:
   输入一个学生的成绩(0~100),
   判断这个学生的成绩是优(90~100),良(80~89),及格(60~79),不及格,成绩不合法5种状态
   (建议使用if语句嵌套)

  1 # 06_score.py
  2 
  3 # 练习:
  4 #   输入一个学生的成绩(0~100),
  5 #   判断这个学生的成绩是优(90~100),良(80~89),及格(60~79),不及格,成绩不合法5种状态
  6 #   (建议使用if语句嵌套)
  7 
  8 score = int(input("请输入一个学生的成绩: "))
  9 if 0 <= score <= 100:
 10     if score < 60:
 11         print("不及格")
 12     elif 60 <= score < 80:
 13         print("及格")
 14     elif score < 90:
 15         print("良好")
 16     else:
 17         print("优秀")
 18 else:
 19     print("成绩不合法")

31

360截图20180916135951931
条件表达式
   语法:
     表达式1 if 真值表达式 else 表达式2
   作用:
     如果真值表达式的布尔环境值为True,则执行表达式1并返回结果的引用,否则执行表达式2并返回结果的引用
   示例见:
     code/if_express.py

  1 # 06_if_express.py
  2 
  3 
  4 # 此示例示意条件表达式的用法
  5 # 商场促销,过100 返 20
  6 money = int(input("请输入商品总额: "))
  7 
  8 pay = money - 20 if money > 100 else money
  9 
 10 print("您需要支付", pay, "")
 11 
 12 

3334

 

练习:
   写程序,输入一个数
     1) 用if语句计算出这个数的绝对值并打印出来
     2) 用条件表达式计算出这个数的绝对值并打印出来

  1 # 练习:
  2 #   写程序,输入一个数
  3 #     1) 用if语句计算出这个数的绝对值并打印出来
  4 #     2) 用条件表达式计算出这个数的绝对值并打印出来
  5 
  6 n = int(input("请输入一个数: "))
  7 
  8 # 1) 用if语句计算出这个数的绝对值并打印出来
  9 # 方法1
 10 # if n < 0:
 11 #     absolute = -n
 12 # else:
 13 #     absolute = n
 14 # 方法2
 15 absolute = n
 16 if absolute < 0:
 17     absolute = -absolute
 18 print("if语句计算的绝对值是:", absolute)
 19 
 20 # 2) 用条件表达式计算出这个数的绝对值并打印出来
 21 absolute = -n if n < 0 else n
 22 print("条件表达式计算的绝对值是:", absolute)
 23 

35

36

37new

pass 语句
   作用:
     通常用来填充语法空白
     pass 语句又名空语句
   语法:
     pass
   示例见:
     code/07_pass.py

  1 # 07_pass.py
  2 
  3 
  4 # 此程序示意pass语句的用法
  5 
  6 # 判断一个学生是否不合法。如果不合法给出警告信息,
  7 # 如果合法什么都不做
  8 
  9 score = int(input("请输入成绩: "))
 10 if 0 <= score <= 100:
 11     pass  # 此语句就是为了填充语法空白
 12 else:
 13     print("您的输入有误!!!")
 14 
 15 print("程序结束")
 16 

38


布尔运算:
   运算符:
     not   and    or
布尔非操作 not
   语法:
     not x
   作用:
     对 x进行布尔取值,如 bool(x) 为True,则返回False, 否则返回True
   示例:
     not True  # False
     not False  # True
     not 100  # False

39

布尔与操作 and
   语法:
     x and y
     注: x, y代表表达式
   作用:
     优先返回假值对象
     当bool(x)的值为False时,返回x,否则返回y
   示例:
     True and True    # True
     True and False   # False
     False and True   # False
     False and False  # False

    >>> 100 and 200
     200
     >>> 0.0 and 200
     0.0
     >>> 0 and 0.0
     0


布尔或操作
   语法:
     x or y
   作用:
     优先返回真值对象,
     当x为True时返回x, 否则返回y

  1 # 08_or.py
  2 
  3 
  4 # 此示例示意 or 的用法
  5 
  6 # 如果直接输入回车键则score为'0'
  7 score = input("请输入成绩: ") or '0'
  8 score = int(score)
  9 
 10 if score < 0 or score > 100:  # 判断成绩不合法
 11     print("您的成绩不合法!!!")
 12 else:
 13     print("您输入的成绩是:", score)
 14 

40new
   示例:
     True or True   # True
     True or False  # True
     False or True  # True
     False or False # False
     100 or 200   # 100
     100 or 0.0   # 100
     0 or 200     # 200
     0 or 0.0     # 0.0

思考以下代码是做什么用的:
   score = input("请输入成绩: ") or '0'
   score = int(score)
   if score < 0 or score > 100:
       print("您的成绩不合法!!!")
   else:
       print("您输入的成绩是:", score)

正负号运算符:
     +(正号) -(负号)

  语法:
     + 表达式
     - 表达式

  示例:
     a = 5
     b = -a
     c = +a

41

 

练习:
   1. 北京出租车计费
     收费标准:
       3公里以内收费13元
       超过3公里后基本单价为 2.3元/公里
       空驶费: 超过15公里后,每公里加收基本单价的50%作为返程的空驶费(3.45元/公里)
     要求:
       输入公里数,打印出费用的金额(以元为单位进行四舍五入)

 

 1 # 1. 北京出租车计费
 2 #   收费标准:
 3 #     3公里以内收费13元
 4 #     超过3公里后基本单价为 2.3元/公里
 5 #     空驶费: 超过15公里后,每公里加收基本单价
 6 #         的50%作为返程的空驶费(3.45元/公里)
 7 #   要求:
 8 #     输入公里数,打印出费用的金额(以元为单位进行四舍五入)
 9 
10 km = int(input("请输入公里数: "))
11 # 方法1
12 # if 0 <= km <= 3:
13 #     print("收费13元")
14 # elif 3 < km <= 15:
15 #     fee = 13 + 2.3 * (km - 3)
16 #     print('收费', round(fee), '元')
17 # elif km > 15:
18 #     fee = 13 + 2.3 * (km - 3) + \
19 #           1.15 * (km - 15)
20 #     print('收费', round(fee), '元')
21 
22 # 方法2
23 fee = 13
24 if km > 3:
25     fee += 2.3 * (km - 3)
26 if km > 15:  # 超过15km加收的部分
27     fee += 1.15 * (km - 15)
28 print('收费', round(fee), '')

   2. 输一个学生的三科成绩:
      1. 打印出最高分是多少分
      2. 打印出最低分是多少分
      3. 打印出平均分是多少分

 

 1 # 2. 输一个学生的三科成绩:
 2 #    1. 打印出最高分是多少分
 3 #    2. 打印出最低分是多少分
 4 #    3. 打印出平均分是多少分
 5 
 6 s1 = int(input("请输入第1科成绩: "))
 7 s2 = int(input("请输入第2科成绩: "))
 8 s3 = int(input("请输入第3科成绩: "))
 9 
10 # 方法1
11 # if s1 > s2:  # s1大
12 #     if s1 > s3:
13 #         print("最高成绩是:", s1)
14 #     else:
15 #         print("最高成绩是:", s3)
16 # else:  # s2大
17 #     if s2 > s3:
18 #         print("最高成绩是:", s2)
19 #     else:
20 #         print("最高成绩是:", s3)
21 
22 # 方法2
23 if s2 <= s1 >= s3:
24     print("最高成绩是:", s1)
25 elif s1 <= s2 >= s3:
26     print("最高成绩是:", s2)
27 else:
28     print("最高成绩是:", s3)
29 
30 # 经典方法
31 m = s1
32 if s2 > m:
33     m = s2
34 if s3 > m:
35     m = s3
36 print("最高成绩是:", m)

 

 


   3. 给出一个年份,判断是否为闰年并打印结果
     闰年规则: 每四年一闰,每百年不闰,四百年又是一个闰年
     例:
       2016年 闰年
       2100年 不是闰年
       2400年 是闰年

 

 1 # 3. 给出一个年份,判断是否为闰年并打印结果
 2 #   闰年规则: 每四年一闰,每百年不闰,四百年又是一个闰年
 3 #   例:
 4 #     2016年 闰年 
 5 #     2100年 不是闰年
 6 #     2400年 是闰年
 7 
 8 y = int(input('请输入年份: '))
 9 if y % 400 == 0:
10     print(y, "是闰年")
11 elif y % 100 == 0:
12     print(y, "不是闰年")
13 elif y % 4 == 0:
14     print(y, '是闰年')
15 else:
16     print(y, "不是闰年")

 

 


   4 BMI 指数(Body Mass Index) 以称身体质量指数
     BMI值计算公式:
          BMI = 体重(公斤)/ 身高(米)的平方
     例如:
        一个69公斤的人,身高是 173公分
        BMI = 69 / 1.73 ** 2 = 23.05
     标准表:
        BMI < 18.5        体重过轻
        18.5 <= BMI <= 24 正常范围
        BMI > 24          体重过重(超标)
     输入身高和体重,打印BMI值,并打印体重状况

posted @ 2018-09-16 14:14  圣枷  阅读(710)  评论(0编辑  收藏  举报