变量
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
- 是否整除,判断余数是否为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,如果有一个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('您已成年,欢迎光临')
作业
-
写出判断一个数是否能同时被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整除')
-
写出判断一个数是否能够被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整除')
-
输入年,写代码判断输入的年是否是闰年,如果是输出'闰年',否则输出'不是闰年'
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)+'不是闰年')
-
今天上课讲了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)+'秒')
-
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
公式: 体重(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)表达式0x13 & 0x17的值(19 )
2)表达式0x13 | 0x17的值(23 )
3)表达式0x13 ^ 0x17的值(4 )
若x=12,y=13则x&y的结果是( 8 )
在位运算中,操作数每右移一位,其结果相当于(B )
A.操作数乘以2 B.操作数除以2
C.操作数除以4 D.操作数乘以4
6).设x 是一个整数(16bit).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是(0000000011111111 )