python第二天

位运算符
计算机 0 1 5+11 先转换成二进制
半导体:从一边到一边是通电的,同另一边到这边是不同点 bit位 0 1
1字节=8 bit 0-255 256

10+11 基于二进制运算 byte

0000 1010
0000 1011
0001 0101 -->2的幂次方相加
image
image
image

复数运算是基于补码的运算
正数没有原码、反码、补码的概念
原码:十进制转换的二进制
反码:原码除符号位外其余位取反
补码:反码+1
-4
1000 0100 的反码 1111 1011----》加1----》1111 1100 -4的补码
然后和3做运算
1111 1100
0000 0011
1111 1111 #是个补码 ----》1111 1111 -1 ------》1000 0001
image

hex(12) #把十进制转16进制
0xc

bin(12) #把十进制转二进制
0b1100
(0b是python表示二进制的)

oct(16) #把进制转换成8进制
0o20

逢8进一、逢16进一

python中的位运算符(全部是都是基于二进制的运算)

&:按位与 两位都是1的时候结果才为1
10 & 11
0000 1010
0000 1011
0000 1010 10
验证
Print(10&11)

|: 按位或 有1就为1
12 | 15
0000 1100
0000 1111
0000 1111 15

^ 两位不同时,结果为1
12 15
1100
1111

0011
Print(12^15)

~ 按位取反 把每一个二进制位全部取反
~11
0000 1011 按位取反是 1111 0100---->先减1---->1111 0011 > 除符号位其余取反
----》 1000 1100 -12

<< 左移 #相当于16乘以2的三次方
0000 1011
0000 1011

00 101100 44
Print(11<<2)

右移 (符号位存在问题) #相当于 16除以2的三次方
Print(11>>2) 负数的右移,记得转换成补码,左边的空缺位,补1。对于正数,右移之后左边补0

身份运算符
is(判断两个标识符是否引用的是同一个对象) is not
Str1=”zhangsan 123@”
Str2=”zhangsan 123@”
Print(str1==str2)
True
Print(str1 is str2)
False
image

id(str1)
id(str2)
数字的id是一样的
字符如果是数字的id也是一样的
image
image
image
image

用原生的python解释器验证,不用pycharm验证

练习:
image

答案 :
image

什么是程序结构
描述了程序中代码的执行过程
顺序结构、选择结构(if )、循环结构

选择结构
if 条件: #条件:最终结果是bool值就可以(比较运算符、逻辑运算符、成员运算符in not in 、is)
条件成立时执行的代码(前面一定要有缩进)

用户输入年龄。我们判断是否未成年,出门左拐

Age = int(input(“请输入您的年龄:”))
if age<18:
缩进 print(123)
Print(“出门左拐”)
If下面的条件,必须缩进要是一致的,要是一个就是一个,要是两个缩进就是两个缩进。
print(123)
注意:python中是用缩进进去区分代码块的,一定要注意缩进。

image

双分支:
if 条件:
条件成立时执行的代码
else:
条件不成立时执行的代码
注意:if和else缩进要一样
image

练习1:用户输入一个数,判断是否是3的倍数。
image

练习2:
image

max(1,2,4) 判断三边的斜边

image
image

练习3:
image
image

或者
image
image

注意:一个tab键是四个空格,缩进量保持一致。
image

>60 <70 <80

Chengji = int(input(“成绩:”))

If chengji>=60:
Print(“及格了”)
If chengji<=70:
Print(“良好”)
Else:
Print(“优秀”)
Else:
Print(“不及格”)

练习:
image
image

多分支
image

练习:
image
image

三元运算符,简写的双分支
image
image

作业:

作业1:

题目:编写程序,实现 “超市折扣计算” 功能:

输入商品总价(total_price)和会员等级(vip_level,0 = 非会员,1 = 普通会员,2 = 高级会员)

折扣规则:

非会员(0):

无基础折扣

若总价≥500 元,额外 9.5 折

普通会员(1):

基础 9.5 折

若总价≥1000 元,额外 9 折

高级会员(2):

基础 9 折

若总价≥800 元,额外 8.5 折

所有情况:总价 < 0 时提示 "输入错误,总价不能为负数"

输出最终应付金额(保留 2 位小数)

2、设计一个简单的 ATM 机模拟程序,实现以下功能:

初始界面显示密码输入框(预设正确密码为 123456)

密码输入错误 → 提示 “密码错误,退出程序”

密码输入正确 → 进入主菜单

主菜单提供 4 个选项:

1. 查询余额 2. 存款 3. 取款 4. 退出

各功能规则:

查询余额:显示当前余额(初始余额为 1000 元)

存款:输入存款金额(必须为正数),若金额合法则更新余额并显示;否则提示 “存款金额无效”

取款:输入取款金额(必须为正数且不超过当前余额),若金额合法则更新余额并显示;否则提示 “取款金额无效” 或 “余额不足”

退出:显示 “感谢使用,再见!” 并结束程序

编写一个程序,输入三角形的三条边长,判断:

1. 是否能构成三角形(任意两边之和大于第三边)

2. 如果能构成三角形,进一步判断是等边、等腰还是一般三角形

posted @ 2025-09-22 16:27  ocmji  阅读(14)  评论(0)    收藏  举报