Python Flashcards
【z3】
a = -6
32位的hex怎么表示
from z3 import *
a = BitVecVal(-6,32)
print(a.sexpr())
【Python基础】
写出异常模板
try: #主代码块 pass except KeyError as e: #异常时执行该块 pass except Exception as e: pass else: #如果没有任何异常,执行到这 pass finally: #无论异常与否,最终执行该块 pass
【z3】
print eq(x+y,y+x)返回什么
False
因为AST node的哈希值不同
(表达式,种类,声明被称为AST)
【Python基础】
定义一个类的格式是什么
class 类名: def 方法1(self,参数): pass def 方法2(self,参数): pass
self:形式参数,python内部自动传递
obj = 类名()
当执行obj.func1()时,self就是obj
【Python基础】
class Animal: def \_\_init\_\_(self): print('A'的构造方法) self.tp = '动物'
class Cat(Animal): def \_\_init\_\_(self): print('B的构造方法') self.name = '猫'
问:猫怎样才能继承Animal的__init__以便可以访问tp
额外继承基类的init方法的公式是什么
class Animal: def \_\_init\_\_(self): print('A'的构造方法) self.tp = '动物'
class Cat(Animal): def \_\_init\_\_(self): print('B的构造方法') self.name = '猫' super(Cat,self).\_\_init\_\_()
公式:
super(自身类名,self).__init__()
【正则表达式】
\s代表什么
\s代表空白字符
[\t\r\n\f\v]
【z3】
Ben在等红绿灯,当灯变绿时,Ben从0开始以6m/(s**2)加速4.1秒,求这段时间的汽车位移。
提示公式:
距离 = 初速时间+(加速度时间**2)/2
末速 = 初速+加速度*时间
from z3 import * s = Solver() d,a,t,v_i,v_f = Reals('d a t v_i v_f‘) equations = [d == v_i*t+(a*t**2)/2 , v_f == v_i+a*t] known = [v_i == 0 , t == 4.1 , a == 6] s.add(equations+known) set_option(rational_to_decimal) s.check() s.model()[d]
【正则表达式】
[a-z]表示什么
[a-z]表示a到z中任意一个字母
【正则表达式】
$表示什么
匹配以xx结尾的
re. findall(‘hijack$’,’sldkjfshijacksdkjfh”)返回[ ]
re. findall(‘hijack$’,’sldkjfshijack”)返回[‘hijack’]
【Python基础】
如果我想要用户输入的字符为不可见要怎么做
import getpass
username = imput(‘your name:’).strip()
password = getpass.getpass(‘your password’:)
会造成好像没有输入的幻觉
【Python基础】
range(1,6)包括6吗?
random.randint(1,6)包括6吗?
rane(1,6)不包括6
只有random.randint()包括结束本身
其他都不包括结束本身
【正则表达式】
\w代表什么?
\w代表单词字符
[a-zA-Z0-9_]
【正则表达式】
re.findall(r’abc\b’,’abcskdjabcfh’)中的r是什么意思,为什么要加r
r的意思是raw_string原生字符串,正则中建议用raw
python有自己的关于\的规则,如\n,\t,\r
正则有自己的关于\的规则,如\w,\d
r使引号内的\失去python的\规则,保留正则的\规则
【Python基础】
a = [1,2]
b = [3,4]
a+b 是多少
[1,2,3,4]
【z3】
a = BitVec(‘a’,32)
经过一些solve得出的结果:m[a] = 842216501
想要把向量转换为python的整数型怎么做?
思路:位向量转换为16进制,再转换为十进制
m[a].sexpr()返回:”#x32333435”,
int(m[a].sexpr().replace(‘#’,’0’),16)
【Python基础】
a = [1,2,3]
print(a*8)
显示什么
[1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3]
【Python基础】
ditc = {‘a’:’x’,’b’:’y’,’c’:’z’}怎样清空字典
dict.clear()
【Python基础】
member = [‘a’ , 8 , 3.14 , ‘b’ , [1,2,3]]
删除元素’b’的三种方法
member.pop(3)
member.remove[‘b’]
del member[3]
pop如果没有参数,就是弹出最后1个元素
【Python基础】
dict{}
dict. fromkeys((1,2,3))得到什么?
dict. fromkeys((1,2,3),’num’)得到什么?
{1:none , 2:none , 3:none}
{1:’num’ , 2:’num’ , 3:’num’}
dict本身不变,仍然是()
fromkeys()函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值
【z3】
我想自定义一个数据类型Role,里面有goodman,badman,normalman
from z3 import *
Role,(goodman,badman,normalman) = EnumSort(‘Role’,(‘goodman’,’badman’,’normalman’))
a = Const(‘a’,Role)
solve (a ! = goodman , a !=badman)
【z3】
我想建立一个z3py的整数型数组,所有的元素都是1
a,i = Ints(‘a i’)
AllOne = K(IntSort(),1)
solve(a == AllOne[i])
K(s,v)返回一个将s的任意值映射到v的数组
【z3】
请定义列表(5个元素)
整数型列表X
实数型列表Y
布尔型列表Z
from z3 import *
X = IntVector('x',5) Y = RealVector('y',5) Z = BoolVector('z',5')
【正则表达式】
[\d]表示什么
[\d]表示任意一个数字
【正则表达式】
\W表示什么?
\W表示非单词字符