python基础day02笔记

这篇博客是关于Python基础知识的笔记,涵盖了Python的版本、数字类型、运算符、变量、比较运算符、内建数值型函数以及条件语句(if-elif-else)。博主详细介绍了整数、浮点数、复数和布尔型,并讨论了变量的赋值和复合赋值运算。此外,还讲解了如何使用is、id()以及小整数对象池。最后,博主提供了几个练习,涉及比较运算符的使用和条件表达式的实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018.7.3

day01回顾:
  
python的版本

  •   python 2
  •   python 3



解释执行器

  • python3 (C语言开发,CPython的一种)
  • python 文件的后缀 .py



运行两种模式:
  执行模式:
     python3 xxxx.py
  交互模式:
     python3 <回车>
     >>>  


数字类型:
  整型数int, 浮点型数float, 复数complex, 布尔型数 bool


整数:

  •   -100, 100, 0, 999999999999
  •   0b1001
  •   0o1234567
  •   0x1a2b3c

浮点型数:

  •   3.14
  •   0.314e1

复数:

  •   1+2j

布尔型数:

  •   True, False


None 空值

运算符:
  + - * / // %  **

() 分组子表达式

变量
  变量名必须标识符:
    标识符的正则表达式:

  •       [A-Za-z_] [A-Za-z0-9_]*

    变量名不能是关键字

  •       True, False, None, is, not, del, ...

赋值语句:
  变量名 = 表达式

  •     x = 100

  变量名1 = 变量名2 = 变量名3 = .... = 表达式

  •     x = y = z = 100

  变量名1, 变量名2, 变量名3 = 序列   (序列赋值)

  •     x, y, z = 100, 200, 300


del 语句删除变量


引用计数 refrence count


is / is not 运算符


id(obj)  返回一个对象的地址


小整数对象池
  -5 ~ 256  


复合赋值运算:
  +=   -=   *=   /=   //=    %=   **=


  变量名 += 表达式



day02 笔记:


比较运算符
  运算符:

  •     <   小于
  •     <=  小于等于
  •     >   大于
  •     >=  大于等于
  •     ==  等于
  •     !=  不等于

  语法:
    左表达式 < 右表达式
  说明:
    比较运算返回布尔类型的值
  例:

  •     20 < 100       # True
  •     300 >= 20      # True
  •     1 == 2         # False
  •     x = 70
  •     y = 70
  •     x != y         # False
  •     0 <= x <= 100  # True





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

  •   float(obj)    用字符串或数字转换为浮点数,如果不给出实参,则返回0.0
  •   int(x=0, base=10)  用数字或字符串转换为整数,如果不给出实参则返回0
  •   complex(r=0.0, i=0.0)  用数字创建一个复数
  •   bool(x)   用x创建一个布尔值(True/False)


函数调用表达式
  函数名(传参列表)
  说明:
    函数调用是表达式,此表达式一定会返回一个对象的引用关系。如果不需要返回值时,通常返回None对象的引用关系


bool(obj) 返回假值的情况:

  •   None  空值
  •   Flase 假值
  •   0, 0.0, 0j  所有的数字零

  -----以下后面会讲-------

  •   ''   空字符串
  •   []   空列表
  •   {}   空字典
  •   ()   空元组
  •   ...


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



内建数值型函数

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



help() 函数查看帮助
  help(函数名或对象名)
  >>> help(abs)



语句 statements
  语句由一些表达式组成,通常一条语句可以独立执行来完成一部分事情并形成结果
    python建议一条语句写在一行内
    多条语句写在一行内需要用分号(;) 分开
  示例:
   

print("hello")
x = 100 + 200
print(x)
# 写在一行内为:
print("hello"); x = 100 + 200; print(x)




显式换行:
  折行符 \ (读作反斜杠)
    折行符必须放在一行的末尾,来示意解释执行器下一行也是本行的语句
  示例见:

# statements.py

x = 100 + (200 * 300) \
+ 400 - 500 + 600
print(x)



隐式折行
  所有的括号的内容换行,称为隐式换行
  括号包括()  []  {}


基本输入函数 input
  作用:

  •     从标准输入设备上读取一个字符串(末尾的换行符会被删除)

  格式:

  •     input('提示字符串') 

  说明:

  •     返回输入的字符串(仅python3)
  •     提示字符串可以为空

  示例见:

# input.py

s = input("请输入圆的半径: ")
# print(s)
r = int(s)  # 将字符串转换为整数
print('半径为', r, '的圆的面积是', 
    3.14 * r ** 2)

print("程序结束")




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

print(1, 2, 3, 4)
print()  # 只打印一个换行
print(5,6,7,8)
print(1, 2, 3, 4, sep='#')  # 1#2#3#4
print(1, 2, 3, 4, sep='')
print(1, 2, 3, 4, sep=' ')
print(1, 2, 3, 4, sep='<===>')
print('======================')
print('hello!')
print('world!', end='')
print('abcde')
print('ABCDE', end='+++++++\n')




练习:
  1. 输入两个整数, 分别用变量x, y绑定
    1) 计算这两个数的和,并打印结果
    2) 计算这两个数的积,并打印结果
    3) 计算x的y次方并打印结果
    如:
      请输入x: 10
      请输入y: 20
    打印如下:
      10 + 20 = 30
      10 * 20 = 200
      10 ** 20 = ...

# 1. 输入两个整数, 分别用变量x, y绑定
x = input("请输入x: ")
x = int(x)
y = input("请输入y: ")
y = int(y)

# 1) 计算这两个数的和,并打印结果
print(x, '+', y, '=', x + y)
# 2) 计算这两个数的积,并打印结果
print(x, '*', y, '=', x * y)
# 3) 计算x的y次方并打印结果
print(x, '**', y, '=', x ** y)


  2. 今天是小明20周岁的生日,假设每年有365天,计算它过了多少个星期天,余多少天


  3. 分三次输入当前的小时,分钟和秒数,在终端打印时此距离凌晨0:0:0 秒过了多少秒

hour = input("请输入小时: ")
hour = int(hour)  # 转为整数

minute = int(input("请输入分钟:"))
second = int(input("请输入秒:"))

s = hour * 60 * 60 + minute * 60 + second
print('从凌晨到现在经历了', s, '秒')


问题:
  请输入一个整数:
    print("这个数是奇数")
    print("这个数是偶数")


if 语句:
  作用:
    让程序根据条件选择性的执行某条语句或某些语句
  语法:

  •     if 真值表达式1:
  •         语句块1
  •     elif 真值表达式2:
  •         语句块2
  •     elif 真值表达式3:
  •         语句块3
  •     ...
  •     else:
  •         语句块

  说明:
    elif 可以有0个,1个或多个
    else 可以有0个或1个


  示例见:

n = int(input("请输入一个整数: "))

if n % 2 == 1:
    print("这个数是奇数")
else:
    print("这个数是偶数")
n = int(input("请输入一个数: "))

if n > 0:
    print('正数')
elif n < 0:
    print('负数')
else:
    print('零')

print("程序结束")




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

n = int(input("请输入一个数: "))
# 1) 判断这个数是否大于100
if n > 100:
    print(n, "大于100")
else:
    print(n, '不大于100')

# 2) 判断这个数是否小于0
if n < 0:
    print(n, '小于0')
else:
    print(n, '不小于0')
# 3)判断这个数是否在80~100之间
if 80 < n < 100:
    print(n, '在80~100之间')
else:
    print(n, '不在80~100之间')




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

n = int(input("请输入季度(1~4): "))
if n == 1:
    print("春季有1, 2, 3月")
elif n == 2:
    print("夏季有4, 5, 6月")
elif n == 3:
    print("秋季有7, 8, 9月")
elif n == 4:
    print("冬季有10, 11, 12月")
else:
    print("您的输入有误")




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

n = int(input("请输入月份(1~12): "))
if 1 <= n <= 3:
    print("春季")
elif 4 <= n <= 6:
    print("夏季")
elif 7 <= n <= 9:
    print("秋季")
elif 10 <= n <= 12:
    print("冬季")
else:
    print("您的输入有误!")




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


  if 语句 真值表达式返回的对象要用bool(x)取值后再决定执行哪儿条语句




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


示例见:

# 此示例示意if语句的嵌套

# month.py
# 2. 输入一年中的月份(1~12) 输出这个月在哪儿
# 个季度,如果输入的是其它数,则提示您输错了

n = int(input("请输入月份(1~12): "))
if 1 <= n <= 12:
    if n <= 3:
        print('春季')
    elif n <= 6:
        print('夏季')
    elif n <= 9:
        print('秋季')
    else:
        print('冬季')
else:
    print("您的输入有误!")

# if 1 <= n <= 3:
#     print("春季")
# elif 4 <= n <= 6:
#     print("夏季")
# elif 7 <= n <= 9:
#     print("秋季")
# elif 10 <= n <= 12:
#     print("冬季")
# else:
#     print("您的输入有误!")



条件表达式:
  语法:
    表达式1 if 真值表达式 else 表达式2
  作用:
    根据真值表达式的取值(True/False) 来决定执行表达式1或表达式2,并返回结果
  示例见:
 

# 此示例示意条件表达式的语法和用法

# 商场促销,满100 减 20
money = int(input("请输入商品总额: "))
pay = money - 20 if money >= 100 else money
print("您需要支付", pay, '元')



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

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

n = int(input("请输入一个数: "))
# 方法1
# if n < 0:
#     a = -n
# else:
#     a = n
# 方法2
a = n  # 先用a绑定原来的数
if a < 0:  # 如果a为负数,则翻转符号
    a = -a  # << 翻转符号
print('绝对值是:', a)

b = -n if n < 0 else n
print("用条件表达式计算过的绝对值是:", b)



pass 语句
  作用:
    通常用来填充语法空白
    pass 又名空语句
  语法:
    pass
  示例见:

month = int(input("请输入月份: "))
# 如果这个月份在1~12之间,什么事都不做
# 如果不在1~12之间,报错误
if 1 <= month <= 12:
    pass
else:
    print("您的输入有误!")




布尔运算
  运算符:
   not  and   or


布尔非操作 not
  语法:
    not x
  作用:
    对表达式x进行布尔取非.如bool(x) 为True则返回False, 否则返回True
  示例:
   

not True  # 返回False
not False  # 返回True
month = 10
if not 1 <= month <= 12:
    print('month 不在1~12之间')





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

  •     True and True   # True
  •     True and False  # False
  •     False and True  # False
  •     False and False # False
  •     0 and 0.0       # 0
  •     1.2 and 100     # 100





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

  •     True or True    # True
  •     True or False   # True
  •     False or True   # True
  •     False or False  # False
  •     0 or 0.0    # 0.0
  •     100 or 200  # 100



思考:
  score = input('请输入学生成绩:') or '0'
  score = int(score)
  请问这个or是在做什么?




正负号运算符:

  •   + (正号) 
  •   - (负号)

  语法:

  •     + 表达式
  •     - 表达式

  说明:

  •     这是一元运算符(只有一个数据参加运算)

  示例:

  •     a = 5
  •     b = -a
  •     c = +a



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

km = int(input("请输入公里数: "))

# 方法1
# money = 0
# if 0 <= km <= 3:
#     money = 13  # 起步
# elif 3 < km <= 15:
#     money = 13 + 2.3 * (km - 3)
# else:
#     money = 13 + 2.3 * (km - 3) + 2.3 * 0.5 * (km - 15)

# 方法2
money = 13
if km > 3:
    money += 2.3 * (km - 3)

if km > 15:
    money += 2.3 * 0.5 * (km - 15)


print("您需要花费:", round(money))


  2. 输入一个学生的三科成绩(三个整数):
    打印出最高分是多少?
    打印出最低分是多少?
    打印出平均分是多少?

a = int(input("请输入第一科成绩: "))
b = int(input("请输入第二科成绩: "))
c = int(input("请输入第三科成绩: "))

# if a > b:
#     if a > c:
#         print("最大数是:", a)
#     else:
#         print("最大数是:", c)
# else:
#     if b > c:
#         print("最大数是:", b)
#     else:
#         print("最大数是:", c)

# 先假设 a最大
zuida = a
# 再用b去和zuida判断
if b > zuida:
    zuida = b

if c > zuida:
    zuida = c
print("最高分是:", zuida)


  3. 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的值并打印体重状况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值