str = input("请输入:")
print("你输入的内容式:", str)
sum = input("请输入算术表达式:")
# eval() 函数用来执行一个字符串表达式,并返回表达式的值。
sum = eval(sum)
print(sum)
请输入:python
你输入的内容式: python
请输入算术表达式:3+5
8
#print()函数也可以接受多个字符串,用逗号隔开,打印每个字符串,遇到逗号,会输出一个空格
print('welcome','to','the python world')
welcome to the python world
#格式化输出 # %o ---- oct 八进制 # %d ---- dec 十进制 # %x ---- hex 十六进制
print('%d'%20)
20
#浮点数的输出
print('%f'%1.11) #默认保留6位小数
print('%.1f'%1.11) #取1位小数
print('%e'%1.11) #默认6位小数,用科学计数法
print('%.3e'%1.11) #取3位小数
print('%g'%1111.1111) #默认6位有效数字
print('%.7g'%1111.1111)#取7位有效数字
print('%.2g'%1111.1111)#取2位有效数字,自动转化为科学技术法
1.110000
1.1
1.110000e+00
1.110e+00
1111.11
1111.111
1.1e+03
#内置round()函数
print(round(1.1125)) #四舍五入,不指定位数,取整
print(round(1.1135,3)) #取3位小数,由于3是奇数,舍去
print(round(1.1125,3)) #取3位小数,由于2是偶数,入
print(round(2.675,2))
1
1.113
1.113
2.67
#字符串输出
# %s #%10s ---- 右对齐,占位符10位
#%-10s ---- 左对齐,占位符10位
#%.2s ---- 截取2位字符串
print('%10.2s'%'hello world')
print('%-10.2s'%'hello world')
he
he
# 打开文件 #<变量名>=open(<文件名>,<打开模式>)
#文件打开模式:只读,写入,追加,默认是只读
读取方式
文件写入
文件操作实例
#文件操作 上下文管理语句with
#with 可以自动管理资源,不论因为什么原因跳出with块总能保证文件被正确关闭。还可以用于数据库连接等
#with open(filename,mode,encoding) as fp:
with open('teleAddressBook.txt','rt',encoding='utf-8') as ftele:
with open('emailAddressBook.txt','rt',encoding='utf-8') as femail:
ftele.readline() #跳过第一行
femail.readline()
lines1=ftele.readlines()
lines2=femail.readlines()
#建立空表用于存储姓名,电话,email
list1_name=[]
list1_tele=[]
list2_name=[]
list2_email=[]
for line in lines1: #获取第一个文本中的姓名和电话信息
elements=line.split()
list1_name.append(elements[0])
list1_tele.append(elements[1])
for line in lines2: #获取第二个文本中的姓名和邮件信息
elements=line.split()
list2_name.append(elements[0])
list2_email.append(elements[1])
#生成新的数据
lines=[]
lines.append('姓名\t电话\t\t邮箱\n')
#遍历列表1
for i in range(len(list1_name)):
s=''
if list1_name[i] in list2_name: #查看列表1中的名字是否在列表2中
j=list2_name.index(list1_name[i])
s='\t'.join([list1_name[i],list1_tele[i],list2_email[j]])
s+='\n'
else:
s='\t'.join([list1_name[i],list1_tele[i],str(' ---- ')]) #如果列表1中的名字不在列表2中,Email用----填充
s+='\n'
lines.append(s)
for i in range(len(list2_name)):
s=''
if list2_name[i] not in list1_name:
s='\t'.join([list2_name[i],str(' ---- '),list2_email[i]])
s+='\n'
lines.append(s)
#写入文件
faddress=open('addressbook.txt','w',encoding = 'utf-8')
faddress.writelines(lines)
#关闭文件
faddress.close()
ftele.close()
femail.close()
print('新的通讯录已经合成')
新的通讯录已经合成