考试结束后试卷分析的说明¶
In [1]:
#原题 格式化输出
s='python'
k='{0:3}'.format(s)
#参数s自身长度超过了3,则将s原本输出
k
Out[1]:
'python'
In [2]:
#扩展 格式化输出
s='p'
s2='t'
k='{0:3}|{1:4}|{0:9}|{1:7}'.format(s,s2)
#0和1表示在format函数中的参数编号,即s的编号为0,s2的参数编号为1
#{0:9}表示输出第{0}个参数,且该字符总长度为9;同理{1:7}
k
Out[2]:
'p |t |p |t '
In [4]:
#扩展2 格式化输出
print('数量{0},单价{1}'.format(100,285,6)) #其中没有输出第{2}个值,即6
print(str.format('数量{0},单价{1:5.5f}',100,285.6)) #对第{1}个值指定了小数位数,即285.60000
#上述2个输出与上面"扩展1"知识点相同,可正常输出
#下面的格式化输出,则因为给的参数过多出错
print('数量%4d,单价%3.3f'%(100,285,6))
数量100,单价285 数量100,单价285.60000
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[4], line 6 3 print(str.format('数量{0},单价{1:5.5f}',100,285.6)) #对第{1}个值指定了小数位数 4 #上述2个输出与上面"扩展1"知识点相同,可正常输出 5 #下面的格式化输出,则因为给的参数过多出错 ----> 6 print('数量%4d,单价%3.3f'%(100,285,6)) TypeError: not all arguments converted during string formatting
In [7]:
for i in range(1,6):
if i/3==0:
break
else:
print(i,end=',')
#算术除法/运算后的结果是浮点值,所以3/3=0.0 != 0,因此循环不会被打断
1,2,3,4,5,
In [5]:
first,*middle,last=range(6)
print('first=',first)
print('middle=',middle)
print('last=',last)
#普通变量只能接受1个值;星号加变量名,代表该变量接受可变长度的值;
#与函数的可变参数类似
first= 0 middle= [1, 2, 3, 4] last= 5
In [26]:
#True和false之间只有等或不等,没有大小之分,所以比大小均为false
x=0 #零等于false,非零等于True;
y=True
print(x>y)
x1=False
print(x1>y)
x2=True
print(x2>y)
print(x==x1)
False False False True
In [10]:
str1='hello,world!'
print(str1.rjust(50, '-')) #可正常输出
print(str1.rjust(50, '')) # 没有给出第二个参数,所以错误
--------------------------------------hello,world!
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[10], line 3 1 str1='hello,world!' 2 print(str1.rjust(50, '-')) #可正常输出 ----> 3 print(str1.rjust(50, '')) # 没有给出第二个参数,所以错误 TypeError: The fill character must be exactly one character long
In [11]:
k=max((1,2,3)*2) #(1,2,3)是一个元组,此元组*2的结果是(1,2,3,1,2,3)
print(k)
3
In [12]:
a=1.0
if isinstance(a,int): #函数isinstance()检查变量a是否为int类型
print(f'{a} is int')
else:
print(f'{a} is not int')
1.0 is not int
In [18]:
#集合的update,intersection,difference操作
s1={1,2,3}
s2={2,3,5}
k1=s1.update(s2)
print('k1=',end=' ')
print(k1)
print('s1=',end=' ')
print(s1)
print('----------')
s1={1,2,3} #因为上面已经更改了s1的值,所以重新定义一下
k2=s1.intersection(s2)
print('k2=',end=' ')
print(k2)
print('s1=',end=' ')
print(s1)
print('----------')
#上面并未改变s1的值,所以不需要重新定义
k3=s1.difference(s2)
print('k3=',end=' ')
print(k3)
print('s1=',end=' ')
print(s1)
k1= None s1= {1, 2, 3, 5} ---------- k2= {2, 3} s1= {1, 2, 3} ---------- k3= {1} s1= {1, 2, 3}
In [19]:
s={1:'a',2:'b',3:'c'}
del s[1] #删除key=1的元素
s[1]='x'
del s[2]
print(s)
{3: 'c', 1: 'x'}
In [27]:
print(4//2)
print(4.5//2) #浮点值参与运算,最终结果必为浮点数
2 2.0