第二天:python变量、运算符

变量

1、定义:用来申请空间,保存数据的容器

2、 声明变量: 变量名 =
3、 声明变量的要求:

  • 是标识符
  • 不能是关键字
  • 见名知意
  • 满足PEP8命名规范
    • 所有字母小写,多个单词用下划线隔开
    • 不能使用系统提供的函数名、类名、库名等来给变量命名

4.变量的使用

  • 使用变量就是使用变量里的值,这个值可以修改
  • 同时声明多个变量
    • 同时声明变量赋相同的值
a1 = a2 = a3 = 10
print(a1, a2, a3)
  • 同时声明多个变量赋不同的值
b1, b2, b3 = 10, 20, 30
print(b1, b2, b3)

5.python声明变量的原理

  • 声明了变量就直接开辟空间存储数据(这个数据需要多大的内存就开辟多少内存空间),然后再将这个变量与内存空间关联起来

  • 变量三要素:

    • 类型:值的数据类型
    • id:变量存储的内存地址,变量真正存储的数据,每次给变量赋值后,id会改变

注意:在python中用一个变量给另一个变量赋值,是将这个变量的地址赋给另一个变量,值仍然只有一个。

运算符

  • 数学运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符
  • 位运算符

1、数学运算符

  • '+、-、、\'和小学数学完全一致

  • % 取余

    • 应用
      • 1.判断整数的奇偶性--判断这格数对2取余的值是否为0
        1. 是否整除,判断余数是否为0
      • 3.取低位数,例如获取一个整数的个位数(将这个数对10取余)
  • // 整除

    • 商只取整数部分
    • 应用:取高位
  • ** ---幂运算:x**y----求x的y次方

2、比较运算符:>、<、==、!=、>=、<=

  • 2.1 >、<、>=、<=和数学中的一致
  • 2.2 == ---判断两个值是否相等,!= ---判断两个值是否不等
  • 2.3 python可以像数学一样用比较运算符表示范围

3、逻辑运算符:and,or,not

and

  • 多个条件都是True结果才是True,只要有一个条件是false结果就是false
  • 当需要满足多个条件时,使用and,相当于生活中的‘并且’

or

  • 2个条件都是false,才是false,有一个为True,则结果为True

not

  • True变成False,False变成True

4、短路操作

  • and的短路操作:条件1 and 条件2 ->and前面的那个条件如果是false,那么后面的部分不会执行,结果直接是false

  • or的短路操作: 条件1 and 条件2 ->如果or前面的条件为真,则后面的部分不会执行

5.赋值运算符:

  • =, +=, -=, *=, /=, %=, //=, **=
    • 1.变量 = 值 ->将右边的值付给左边的变量
    • 2.变量 = 变量 +-*/ 值

6.运算顺序(优先级)

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

位运算符

位运算符:

&(与),|(或),~(取反),^(异或),<<(左移),>>(右移)

    1. &(与)
    • 运算规则:补码每一位上的数字都是1结果就是1,如果有一个0结果就是0

    • 应用:高效的判断数字的奇偶性 ----让数字和1进行&运算,结果为1则数 字是奇数,结果为0,则数字为偶数

  • |(或)

    • 运算规则:每一位上的数如果都是0结果就是0,只要有1结果就是1
  • 3.~ (取反)

    • 运算规则:将每一位上的0变成1
  • 4.^ (异或)

    • 运算规则:每一位上的数相同为0,不同为1
  • 5.<<(左移)

    • 数字<< N -> 指定的数字的补码整体向左移动N位;计算数字2*N
print(2 << 1) # 2*2**1 == 4

-6.>>(右移)

  • 数字 >> n -> 计算:数字//2**N
print(4 >> 1)   #4//2**1 = 2
print(9 >> 2)   #9//2**2 = 2
print(-8 >> 2)  #-8//2**2 = -2
print(-9 >> 1)  #-9//2**1= -5  往小里取整

分支结构

  • 定义:某段代码是否执行看条件是否符合

1.if结构

1.1 语法:

  • if 条件语句:
    代码段

说明:
if ---关键字,固定写法
条件语句 ----任何有结果的表示都可以,如数据、已声明的变量、运算表达是(除赋值语句)
代码段: ---当满足条件后需要运行的代码

1.2 执行过程:

先判断条件语句的结果是否为True,如果为True则执行代码段,否则代码段不执行

if 99 & 1 == 0:
    print('偶数')

2.if-else结构

  • 定义:如果符合条件执行一段代码,否则执行另一段代码

2.1 语法:

if 条件语句:
代码块(满足条件要执行的代码块)
else
另一个代码块(不满足条件的另一条代码)

age = input('请输入您的年龄:')

if 0< int(age) <18:
    print('您是未成年人,禁止入内!')
else:
    print('您已成年,欢迎光临')

作业

  1. 写出判断一个数是否能同时被3和7整除的条件语句, 并且打印对应的结果

    num1 = input('请输入一个数:')
    num1 = int(num1)
    if num1 % 3 == 0 and num1 % 7 == 0:
        print(str(num1)+'能同时被3和7整除')
    else:
        print(str(num1)+'不能同时被3和7整除')
    
  2. 写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除, 并且打印对应的结果

    num = input('请输入一个数:')
    num1 = int(num)
    if (num1 % 3 == 0 or num1 % 7 == 0) and not(num1 % 3 == 0 and num1 % 7 == 0):
     print(str(num1) + '能够被3或者7整除,但是不能同时被3或者7整除')
    else:
     print(str(num1) + '能够被3或者7整除,也能同时被3或者7整除')
    
  3. 输入年,写代码判断输入的年是否是闰年,如果是输出'闰年',否则输出'不是闰年'

    value = input('请输入年:')

    year = int(value)

    value = input('请输入年份:')
    year = int(value)
    if (year % 4 == 0 and not(year % 100 == 0)) or year % 400 == 0:
    print(str(year)+'是闰年')
    else:
    print(str(year)+'不是闰年')
    
  4. 今天上课讲了15000秒的课,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示。

    例如: 时间67秒 —> 0时1分7秒

hour, min, second = 0, 0, 0
time = 15000
hour = time // 3600  # 小时数等于总秒数对3600(一小时)秒取整
time2 = time % 3600  # 取的减去hour小时后的总秒数
min = time2 // 60    # 分钟数等于剩余总秒数对60秒(一分钟)取整
second = time2 % 60  # 剩余秒数等于分钟数取整后对60秒取余

print('正确事时间为:'+str(hour)+'时'+str(min)+'分'+str(second)+'秒')
  1. 定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!

    公式: 体重(kg)/身高(m)的平方值在18.5 ~ 24.9之间属于正常。

height = input('请输入您的身高:')
weight = input('请输入您的体重:')

index = float(weight) / float(height)**2

if 18.5<= index <=24.9:
   print('您的身材完美!')
else:
   print('您的身材还能更完美!')
  1. 位运算练习题

    1)表达式0x13 & 0x17的值(19 )

    2)表达式0x13 | 0x17的值(23 )

    3)表达式0x13 ^ 0x17的值(4 )

    1. 若x=12,y=13则x&y的结果是( 8 )

    2. 在位运算中,操作数每右移一位,其结果相当于(B )

    A.操作数乘以2 B.操作数除以2

    C.操作数除以4 D.操作数乘以4

    6).设x 是一个整数(16bit).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是(0000000011111111 )

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容

  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 678评论 0 0
  • 一、Python中的数据类型 计算机顾明思议就是可以做数学运算的机器,因此计算机理所当然的可以处理各种数据,但是计...
    郑元吉阅读 324评论 0 0
  • 一. 变量 定义:变量就是在程序中用来保存数据的容器 1.声明变量(定义变量) - 假的声明 语法:变量名 = ...
    Fly_withbird阅读 345评论 0 0
  • 我读那些写给小孩子们的童话(一) 有只小猴子在井边玩。他往井里一看,里面有个月亮。小猴子叫了起来:“糟啦,糟啦!月...
    执笔画心_57e4阅读 1,965评论 0 0
  • 你是文学园圃的一脉香火 你是文字有史的原始动力 究竟是哪位圣人贤士 为你取了个内涵优美的名字 因你鹤立鸡群特别惹眼...
    四川曹天成阅读 214评论 0 0