题目一:
写一个加法计算器。提示用户输入两个数字,再将它们相加并打印结果。在用户输入的任何一个值不是数字时都捕获异常,并打印一条友好的错误消息。应用异常处理和循环语句,直到用户输入”N“结束程序。
while True:
number1=input("请输入一个数字")
number2=input("请输入一个数字")
try:
number1=float(number1)
number2=float(number2)
sum=number1+number2
print(f"The sum of number1 and number2 is{sum}")
except ValueError:
print("你输入的不是数字,请输入数字:")
flag=input("是否需要继续?(y/n)")
if flag=='n' or flag=='N':
break
题目二:
有文件 t1.txt 里面的内容为
1,吴彦祖,22,13812346543,警察
2,金城武,23,13698763214,学生
3,彭于晏,18,13565478921,运动员
利用文件操作,将其构造成如下数据类型。输出到文件t2.txt中。[{‘id’:‘1’,‘name’:‘吴彦祖’,‘age’:‘22’,‘phone’:‘13812346543’,‘job’:‘警察’},{‘id’:‘2’,‘name’:‘金城武’,‘age’:‘23’,‘phone’:‘13698763214’,‘job’:‘学生’}, … …]
fp=open("E:\python\python文件\t1.txt",'r',encoding="UTF-8")
fo=open("E:\python\python文件\新建文件夹\t2.txt",'w',encoding="UTF-8")
#把数据写入列表
cob=fp.readlines()
fp.close()
输出:[‘1,吴彦祖,22,13812346543,警察n’, ‘2,金城武,23,13698763214,学生n’, ‘3,彭于晏,18,13565478921,运动员’]
那么下一步就是需要把字符串里面的n去掉
for num in range(0,len(cob)):
cob[num]=cob[num].replace('n', "")
输出: [‘1,吴彦祖,22,13812346543,警察’, ‘2,金城武,23,13698763214,学生’, ‘3,彭于晏,18,13565478921,运动员’]
下一步就是对列表里面的元素遍历和插入
cont=[]
ls=["id","name","age","phone","job"]
#遍历字符串
for data1 in cob:
#分割字符串为列表
cont1=data1.split(",")
#得到列表
dict1={}
for num,data2 in enumerate(cont1):
dict1[ls[num]]=data2
cont.append(dict1)
str1=str(cont)
fo.write(str1)
fo.close()



