异常
try:
print(5/0)
except ZeroDivisionError:
print('除数不能为0哦!!!')
将导致错误的代码行print(5/0)放在try代码块中,如果try代码块中的代码运行起来没报错,python将跳过except代码块,如果try代码块中的代码运行起来有报错,python将查找与之匹配的except代码块,并运行其中的代码
做除法运算
print('请输入被除数和除数,或者输入q退出')
while True:
被除数=input('请输入被除数:\n')
if 被除数=='q':
break
除数=input('请输入除数:\n')
if 除数=='q':
break
try:
answer=int(被除数)/int(除数)
except ZeroDivisionError:
print('除数不能为0哦!!!')
else:
print(f'{被除数}除以{除数}的结果是:{answer}')
split()方法以空格为分隔符将字符串拆分多个部分,并将这些部分都存储在一个列表中,可以用来统计英语字符数
filename='alice.txt'
try:
with open(filename)as f:
contents=f.read()
except FileNotFoundError:
print(f'{filename}文件不存在')
else:
words=contents.split()
字数=len(words)
print(f'{filename}共有{字数}个字')
统计文件字数
def count_words(filename):
try:
with open(filename)as f:
contents=f.read()
except FileNotFoundError:
print(f'{filename}文件不存在')
else:
words=contents.split()
字数=len(words)
print(f"{filename}有{字数}个字数")
count_words('alice.txt')
静默失败,在except语句块后面为pass
try-except-else
#练习10-6
try:
number1=input('请输入第一个数:')
number1=int(number1)
number2=input('请输入第二个数:')
number2=int(number2)
except ValueError:
print('你输入的不是一个数字')
else:
answer=number1+number2
print(f'{number1}+{number2}={answer}')
#练习10-7
while True:
try:
number1=input('请输入第一个数:')
number1=int(number1)
number2=input('请输入第二个数:')
number2=int(number2)
except ValueError:
print('你输入的不是一个数字')
else:
answer=number1+number2
print(f'{number1}+{number2}={answer}')
#练习10-8
def read(filename):
try:
with open(filename)as f:
file=f.read()
except FileNotFoundError:
print('文件不存在')
else:
print(file)
read('cats.txt')
read('dogs.txt')
#练习10-9
def read(filename):
try:
with open(filename)as f:
file=f.read()
except FileNotFoundError:
pass
else:
print(file)
read('cat.txt')#本身就不存在的文件
read('dogs.txt')
count(‘str’)可以统计字符串的个数
json.dump()接受两个实参:要存储的数据,以及用于存储数据的文件对象
import json
numbers=[2,3,4,5,11,23]
filename='number.json'
with open(filename,'w')as f:
json.dump(numbers,f)
#使用json.load()将列表读取到内存中
import json
filename='number.json'
with open(filename)as f:
numbers=json.load(f)
print(numbers)
"""
[2, 3, 4, 5, 11, 23]
"""
#保存用户生成的数据
import json
username=input("what is your name?")
filename='username.json'
with open(filename,'a')as f:
json.dump(username,f)
print(f"欢迎你{username}")
#读取用户生成的数据
import json
filename='username.json'
with open(filename)as f:
username=json.load(f)
print(f"欢迎你回来,{username}")