1.补全程序:请补全:待补全位置1,待补全位置2,待补全位置3,实现描述的功能
输入:
请输入一个0和1组成的二进制的字符串:1101
把它转换成10进制
输出:13
s =input("请输入一个由1和0组成二进制字符串:“)
d= _补全位置1_
while s:
d=d+ _补全位置2_
s = s[1:]
print(f”转换成十进制的数为: _补全位置3_”)
s = input("请输入一个0和1组成的二进制的字符串:")
d = 0
while s:
d = d * 2 + int(s[0])
s = s[1:]
print(f"转换成十进制的数为:", d)
输出:
请输入一个0和1组成的二进制的字符串:1101
转换成十进制的数为: 13
2. 将字符串“你好”转换成字节,再将转换字节转成字符串(使用两种方式实现)
vid_bytes = bytes("你好", 'utf-8')
print(vid_bytes, type(vid_bytes))
vid_str = str(b'\xe4\xbd\xa0\xe5\xa5\xbd', 'utf-8')
print(vid_str, type(vid_str))
vid1_bytes = "你好".encode()
print(vid1_bytes, type(vid1_bytes))
vid1_str = b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode()
print(vid1_str, type(vid1_str))
输出:
b'\xe4\xbd\xa0\xe5\xa5\xbd' <class 'bytes'>
你好 <class 'str'>
b'\xe4\xbd\xa0\xe5\xa5\xbd' <class 'bytes'>
你好 <class 'str'>
3.异常处理:遇到分母为0异常,执行打印异常信息:Division by Zero
遇到字典元素键异常,执行为打印异常信息,不存在此键
遇到序列索引异常,执行打印:索引超出范围
若没有遇到异常,打印:Normal
无论异常或正常,打印:Finally
注意:需要模拟出异常,并验证异常处理是否能完成上面提到的情况
try: # 1
1/0
except ZeroDivisionError:
print('division by zero')
d = {'a': 1, 'b': 2} # 2
try:
print(d['c'])
except KeyError:
print('不存在此键')
list_data = [1, 2, 3] # 3
try:
print(list_data[10])
except IndexError:
print('索引超出范围')
try: # 4
data = 2
raise ZeroDivisionError
except ZeroDivisionError:
print('Normal')
try: # 5
data = 1
1/0
except ZeroDivisionError:
print('ZeroDivisionError')
except Exception:
print('other Exception')
else:
print('else')
finally:
print('Finally')
输出:
division by zero
不存在此键
索引超出范围
Normal
ZeroDivisionError
Finally
4.使用字符串格式化方法format打印此列表:
print _ list=[
{"name":"zhangsan","stu_id":"04101041", "score": [90, 80, 100] ,
{"name":"lisi","stu id":"04101042","score":[70, 80,901]},
{"name":"wangwu","stu id":"04101043","score": [76, 90, 80]}
打印效果如下《学号,姓名,语文成绩,数学成绩,英语成绩, 居中对齐):
stu_ id name Chinese Math Enqlish
04101041 zhangsan 90 80 100
stu_list = [{"name": "zhangsan", "stu_id": "04101041", "score": [90, 80, 100]},
{"name": "lisi", "stu_id": "04101042", "score": [70, 80, 90]},
{"name": "wangwu", "stu_id": "04101043", "score": [76, 90, 80]}]
print(f"{'name':^20}{'stu_id':^20}{'Chinese':^20}{'Math':^20}{'English':^20}")
for stu in stu_list:
print("{0[name]:^20}{0[stu_id]:^20}{0[score][0]:^20}{0[score][1]:^20}{0[score][2]:^20}".format(stu))
输出:
name stu_id Chinese Math English
zhangsan 04101041 90 80 100
lisi 04101042 70 80 90
wangwu 04101043 76 90 80