题目41
# 学习使用按位与
print(1&2)
print(0&1)
题目42
# 学习使用lambda 表达式
# lambda关键字用于创建小巧的匿名函数
# 格式: lambda [参数列表]:表达式
f1 = lambda x,y,z: x + y + z
print(f1)
print(type(f1))
print(f1(1,3,3))
# 参数列表是可以省略的,类似无参数的函数
f = lambda : 2 * 3
print(f())
题目43
# 取一个整数a从右端开始的4~7位
# 题目理解,这里的位应该说的是bit位
# 那就只是按位操作就行,python 是有按位操作的
# 举例说明:
# bit:的编号多数情况都是从0开始的bit0~bit7
# a = 0x11111110001
# 先右移4位,得到0x1111111
# 现在再去取其右边的4位(4,5,6,7)
def get_bit4_bit7(num:int):
print(f'num = {num:x}')
num1 = num >> 4;
print(f'num1 = {num1:x}')
num2 = num1 & 0x1111 # 用按位|的话,不能去除4~7以外的bit位(比较正规的说法应该是不能屏蔽)
print(f'num2 = {num2:x}')
return num2
get_bit4_bit7(0x101010101010)
题目44
# 画一个圆
# 随便一搜,就有相关的库,这里使用tkinter库
# 使用tkinter库,可能后面会去专门学习这个库,但是gui的画,更想学pyqt
from tkinter import *
# 使用画布控件 Canvas,创建一个画布
# Canvas的参数很多:我们用其中的width height bg(background)
canvas = Canvas(width=800, height=600, bg='green')
canvas.pack()
canvas.create_oval(40,40,100,100,width=1,fill='pink')
mainloop() # 这个是必须的,没有这个就没有窗口
题目45
# 画一条直线
# 随便一搜,就有相关的库,这里使用tkinter库
# 使用tkinter库
from tkinter import *
# 使用画布控件 Canvas,创建一个画布
# Canvas的参数很多:我们用其中的width height bg(background)
canvas = Canvas(width=800, height=600, bg='green')
canvas.pack()
points = (200,200,300,200)
canvas.create_line(points, width=1,fill='pink')
mainloop() # 这个是必须的,没有这个就没有窗口