1.选择题
(1)C (2)B (3)C (4)C (5)A
2.简答题
(1)Python具有简单易学、免费开源、类库丰富、可扩展、解释性、可移植性和可嵌入性等特点。
(2)Python的应用领域包括Web开发、网络爬虫、人工智能、数据分析、自动化运营、游戏开发等。
3.编程题
(1)
print(' 静夜思')
print(' ——李白')
print('窗前明月光,')
print('疑是地上霜。')
print('举头望明月,')
print('低头思故乡。')
(2)
print(' i-i-i-i-i')
print(' *****************')
print(' | :H-a-p-p-y: |')
print('~~~~~~~~~~~~~~~~~~~~~~')
print('| :B-i-r-t-h-d-a-y: |')
print('**********************')
(3)
print(' * * * *')
print('* ** *')
print('* *')
print(' * *')
print(' **')
第2章 Python编程世界的基础1.选择题
(1)B (2)B (3)A (4)A (5)D
2.填空题
(1)字母、数字和下划线 数字
(2)9
(3)399.7
(4)False
(5)True False
3.编程题
(1)
name = input('请输入姓名:')
age = int(input('请输入年龄:'))
address = input('请输入地址:')
print(name, '今年', age, '岁,', '地址是', address, '。')
(2)
price = float(input('请输入商品价格:'))
amount = int(input('请输入商品数量:'))
total_price = price * amount
print('商品总价为:', total_price)
(3)
weight = float(input('请输入您的体重(kg):'))
height = float(input('请输入您的身高(m):'))
BMI = weight / (height * height)
print('您的BMI值为:', BMI)
(4)
episode = '东胜神洲傲来国海边有一花果山,山顶一石,承受日月精华,产下一个石猴。' \
'石猴在花果山做了众猴之王,为求长生,出海求仙,在西牛贺洲拜菩提祖师为师。' \
'祖师为其取法名孙悟空,并授予七十二般变化及翻筋斗云之法。' \
'孙悟空回到花果山,占山为王,号为美猴王。' \
'苦于无兵刃,遂去东海龙宫求取,龙王及兄弟送他一支如意金箍棒及一身披挂。' \
'孙悟空又去幽冥界把自己的名字从生死簿上勾掉。' \
'龙王,地藏王上天庭告状,太白金星建议招安孙悟空,玉帝准奏。'
print('唐僧' in episode)
print('孙悟空' in episode)
print('齐天大圣' in episode)
第3章 神奇的分支和循环1.选择题
(1)A (2)A (3)C (4)D (5)A
2.填空题
(1)24
(2)20 10 10
(3)① a > b ② b = t
(4)15
3.编程题
(1)
weight = float(input('请您输入行李的重量:'))
if weight < 0:
print('您输入的数据有误!')
elif weight <= 20:
print('您可以免费托运行李!')
elif weight <= 30:
price = (weight - 20) * 5
print('您的托运费用为', price, '元!')
elif weight <= 40:
price = (30 - 20) * 5 + (weight - 30) * 10
print('您的托运费用为', price, '元!')
elif weight <= 50:
price = (30 - 20) * 5 + (40 - 30) * 10 + (weight - 40) * 15
print('您的托运费用为', price, '元!')
else:
print('您托运的行李超出了最高上限,不允许托运!')
(2)
for cock in range(0, 20 + 1): #鸡翁范围在0到20之间
for hen in range(0, 33+1): #鸡母范围在0到33之间
for biddy in range(3, 99 + 1): #鸡雏范围在3到99之间
if (5 * cock + 3 * hen + biddy / 3) == 100: #判断钱数是否等于100
if (cock + hen + biddy) == 100: #判断购买的鸡数是否等于100
if biddy % 3 == 0: #判断鸡雏数是否能被3整除
print('鸡翁:', cock, '鸡母:', hen, '鸡雏:', biddy) #输出
(3)
i = 2
while i < 100: #循环范围为2~100
j = 2
while j < i: #循环范围为2~i
if i % j == 0: #如果i能整除j,i不是素数
break #跳出循环
j = j + 1
if j == i: #范围为2~i的循环结束后,如果j等于i,说明i为素数
print(i) #输出素数
i = i + 1
(4)
for i in range(1, 10): #循环范围为1~9
for j in range(10 - i): #循环范围为0~9-i
print(end=' ') #以空格结尾,不换行
for k in range(10 - i, 10): #循环范围为10-i~9
print('*', end=' ') #以空格结尾,不换行
print('') #换行
第4章 形形色色的数据容器1.选择题
(1)C (2)B (3)A (4)A (5)B (6)C
2.填空题
(1)helloworld d llo hlod lrowolleh
(2)PYTHON STRING python string 10 Python Strgni
(3)小括号 中括号
(4)8
(5){'name': None, 'age': None, 'weight': None, 'height': None}
(6)for value in num_dict.values():
3.编程题
(1)
flag = True #定义回文串标志,赋初值为True
checkStr = input('请输入要检测的字符串:')
low = 0 #定义首字符的索引
high = len(checkStr) - 1 #定义尾子符的索引
while low < high:
#检测首尾两个字符是否相等
if checkStr[low] != checkStr[high]:
flag = False
low += 1
high -= 1
if flag:
print('“{}”是回文串。'.format(checkStr))
else:
print('“{}”不是回文串。'.format(checkStr))
(2)
dictCourse = {'吕红': '数据库',
'周婷': '线性代数',
'肖扬': 'Python',
'李娟': '数据库',
'丁锦': '英语',
'周玲玲': 'Java'}
dictCourse['赵红'] = 'Java' #增加一条信息赵红讲授Java
dictCourse['周玲玲'] = 'Python' #周玲玲改为讲授Python
dictCourse.pop('周婷') #删除周婷授课信息
print('********课程安排信息********')
for teacher, course in dictCourse.items():
print(teacher, course)
print('******所有讲授Python的教师******')
for teacher, course in dictCourse.items():
if course == 'Python':
print(teacher, end=' ')
(3)
dict1 = {'小蓝': [123456, 0], '小明': [12345678, 0]} #定义字典用于存储用户信息
while True: #开始循环
name = input('请输入用户名:') #输入用户名
password = int(input('请输入密码:')) #输入密码
if name not in dict1.keys(): #如果输入的用户名不在字典中
print('该用户名不存在') #输出提示语
continue #结束本次循环
if dict1[name][1] == 2: #如果次数大于2
print('3次密码错误,该用户名已被锁定') #输出被锁定提示信息
break #跳出循环
if password == dict1[name][0]: #如果输入的密码正确
print('登录成功') #输出登录成功提示语
break #跳出循环
else: #密码输入错误
print('用户名或密码错误') #输出提示语
dict1[name][1] += 1 #次数加1
(4)
strs = input('请输入一个字符串:') #输入字符串
setStrs = set(strs) #将字符串转换为集合,去重
listStrs = list(setStrs) #将集合转换为列表
listStrs.sort() #将列表按升序排序
for x in listStrs: #输出列表中的所有字符
print(x, end='')
第5章 强大的函数积木1.选择题
(1)C (2)C (3)A (4)D (5)B (6)D (7)C (8)A
2.填空题
(1)逗号
(2)return
(3)不定长
(4)嵌套
(5)局部
(6)global
(7)7 5
(8)5 4
(9)1 3 4
(10)1
3.编程题
(1)
def narcissistic(n):
b = int(n / 100) #计算百位数
s = int((n - 100 * b) / 10) #计算十位数
g = n % 10 #计算个位数
if n == g ** 3 + s ** 3 + b ** 3: #判断数字的立方和是否等于该数本身
return '{}是水仙花数'.format(n)
else:
return '{}不是水仙花数'.format(n)
num = int(input('请输入一个3位整数:'))
print(narcissistic(num))
(2)
def hano(n, x, y, z): #n表示层数,x表示起始柱、y表示辅助柱、z表示目标柱
if n == 1:
print(x, '->', z)
else:
hano(n-1, x, z, y) #将n-1个盘子从x->y
print(x, '->', z) #将剩余的最后一个盘子从x->z
hano(n-1, y, x, z) #将剩余的n-1个盘子从y->z
n = int(input('请输入汉诺塔的层数:'))
hano(n, 'A', 'B', 'C')
(3)
'''compute.py,定义函数实现加、减、乘、除计算'''
def add(x, y): #定义加法方法
print('{} + {} = {}'.format(x, y, x + y))
def sub(x, y): #定义减法方法
print('{} - {} = {}'.format(x, y, x - y))
def Multiplication(x, y): #定义乘法方法
print('{} * {} = {}'.format(x, y, x * y))
def division(x, y): #定义除法方法
if y == 0:
print('除数不能为0!')
else:
print('{} / {} = {}'.format(x, y, x / y))
'''编程题_3.py,导入compute模块,调用函数计算输入的两个数的和、差、乘和除结果'''
import compute
x = float(input('请输入第一个数:'))
y = float(input('请输入第二个数:'))
compute.add(x, y)
compute.sub(x, y)
compute.Multiplication(x, y)
compute.division(x, y)
第6章 会画画的“小海龟”1.选择题
(1)A (2)D (3)C (4)C (5)A
2.填空题
(1)设置画笔颜色为红色,填充颜色为黄色
(2)begin_fill() end_fill()
(3)dot(50,'Red')
(4)forward(distance) fd(distance)
(5)画笔移动到(90,0)坐标,然后左转90度
3.编程题
(1)
import turtle as t #导入turtle模块为t
def polygon(n, length): #绘制正n边形,边长为length
for i in range(n): #循环n次
t.forward(length) #前进length
t.left(360 / n) #左转角度为正n边形的外角
n = int(input('请输入边数:')) #输入边数
length = int(input('请输入边长:')) #输入边长
polygon(n, length)
t.done()
(2)
import turtle as t
t.pensize(2) #设置笔画宽度
#绘制半边黑色图形
t.begin_fill()
t.circle(100, 180)
t.seth(0)
t.circle(-50, 180)
t.circle(50, 180)
t.end_fill()
#绘制半边白色图形
t.seth(180)
t.circle(-100, 180)
#绘制黑白两个圆点
t.penup()
t.goto(0, 50)
t.pendown()
t.dot(20, 'White')
t.penup()
t.goto(0, 150)
t.pendown()
t.dot(20, 'Black')
t.hideturtle() #隐藏画笔
t.done() #完成
(3)
import turtle as t
t.pensize(3) #设置画笔宽度
def drawCircle(x, y, c): #绘制一个圆,参数为x、y坐标和画笔颜色
t.pu() #抬起画笔
t.goto(x, y) #移动到圆的起始位置
t.pd() #落下画笔
t.color(c) #设置画笔颜色为c
t.circle(30) #绘制半径为30的圆
drawCircle(0, 0, 'Blue') #绘制蓝色圆
drawCircle(60, 0, 'Black') #绘制黑色圆
drawCircle(120, 0, 'Red') #绘制红色圆
drawCircle(90, -30, 'Green') #绘制绿色圆
drawCircle(30, -30, 'Yellow') #绘制黄色圆
t.ht() #隐藏画笔
t.done() #完成
(4)
import turtle as t
#初始化设置
t.screensize(400, 300)
t.pensize(4) #设置画笔的粗细
t.colormode(255) #设置GBK颜色范围为0-255
t.color((255, 155, 192), 'pink') #设置画笔颜色和填充颜色(pink)
t.setup(840, 500) #设置主窗口的大小为840*500
t.speed(10) #设置画笔速度为10
def nose(): #绘制鼻子
t.pu() #提笔
t.goto(-100, 100) #画笔前往坐标(-100,100)
t.pd() #下笔
t.seth(-30) #笔的角度为-30°
t.begin_fill() #外形填充的开始标志
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a + 0.08
t.lt(3) #向左转3度
t.fd(a) #向前走a的步长
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill() #依据轮廓填充
t.pu() #提笔
t.seth(90) #笔的角度为90度
t.fd(25) #向前移动25
t.seth(0) #转换画笔的角度为0
t.fd(10)
t.pd()
t.pencolor(255, 155, 192) #设置画笔颜色
t.seth(10)
t.begin_fill()
t.circle(5) #画一个半径为5的圆
t.color(160, 82, 45) #设置画笔和填充颜色
t.end_fill()
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255, 155, 192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
def head(): #绘制头
t.color((255, 155, 192), 'pink')
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.fd(0)
t.pd()
t.begin_fill()
t.seth(180)
t.circle(300, -30) #顺时针画一个半径为300,圆心角为30°的圆
t.circle(100, -60)
t.circle(80, -100)
t.circle(150, -20)
t.circle(60, -95)
t.seth(161)
t.circle(-300, 15)
t.pu()
t.goto(-100, 100)
t.pd()
t.seth(-30)
a = 0.4
for i in range(60):
if 0 <= i < 30 or 60 <= i < 90:
a = a + 0.08
t.lt(3) #向左转3度
t.fd(a) #向前走a的步长
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill()
def ear(): #绘制耳朵
t.color((255, 155, 192), 'pink')
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 54)
t.end_fill()
t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 56)
t.end_fill()
def eye(): #绘制眼睛
t.color((255, 155, 192), 'white')
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color('black')
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
t.color((255, 155, 192), 'white')
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color('black')
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
def cheek(): #绘制腮
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()
def mouth(): #绘制嘴
t.color(239, 69, 19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30, 40)
t.circle(40, 80)
def body(): #绘制身体
t.color('red', (255, 99, 71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100, 10)
t.circle(300, 30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300, 30)
t.circle(100, 3)
t.color((255, 155, 192), (255, 100, 100))
t.seth(-135)
t.circle(-80, 63)
t.circle(-150, 24)
t.end_fill()
def hand(): #绘制手
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300, 15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20, 90)
t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300, 15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20, 90)
def foot(): #绘制脚
t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color('black')
t.pensize(15)
t.fd(20)
t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color('black')
t.pensize(15)
t.fd(20)
def tail(): #绘制尾巴
t.pensize(4)
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70, 20)
t.circle(10, 330)
t.circle(70, 30)
nose() #鼻子
head() #头
ear() #耳朵
eye() #眼睛
cheek() #腮
mouth() #嘴
body() #身体
hand() #手
foot() #脚
tail() #尾巴
t.done()
第7章 神秘的类和对象1.选择题
(1)C (2)A (3)B (4)C (5)A (6)B (7)A (8)C (9)C (10)B
2.填空题
(1)class
(2)self
(3)对象名 类名 对象名
(4)基类或父类 子类或派生类
(5)私有
(6)super() 父类名.方法名()
(7)@classmethod
(8)重写
3.编程题
(1)
class Car:
def __init__(self, brand, color, productPlace): #初始化品牌、颜色和产地
self.brand = brand
self.color = color
self.productPlace = productPlace
def detail(self): #输出汽车的相关信息
temp = '品牌:{}, 颜色:{}, 产地:{}' .format(self.brand, self.color, self.productPlace)
print(temp)
#创建对象,并调用detail()方法输出汽车相关信息
HongQi = Car('红旗', '黑色', '中国')
BMW = Car('宝马', '白色', '德国')
Chevrolet = Car('雪佛兰', '红色', '美国')
HongQi.detail()
BMW.detail()
Chevrolet.detail()
(2)
import math
class PlaneGraphics(): #定义平面图形父类PlaneGraphics
def __init__(self, shape):
self.shape = shape
def area(self): #定义计算面积方法area()
pass
def show(self): #定义显示面积方法show()
print('{}面积为{}'.format(self.shape, self.area()))
class Rectangle(PlaneGraphics): #定义长方形类Rectangle继承PlaneGraphics类
def __init__(self, lenght, width):
super().__init__('长方形')
self.lenght = lenght
self.width = width
def area(self): #重写area()方法,返回长方形面积
return self.lenght * self.width
class Eclipse(PlaneGraphics): #定义长方形类Eclipse继承PlaneGraphics类
def __init__(self, radius_a, radius_b):
super().__init__('椭圆形')
self.radius_a = radius_a
self.radius_b = radius_b
def area(self): #重写area()方法,返回椭圆形面积
return math.pi * self.radius_a * self.radius_b
r = Rectangle(10, 20)
r.show()
e = Eclipse(10, 20)
e.show()
(3)
class Interest:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def chinese(self):
print('{},{}岁,{},喜欢上语文课'.format(self.name, self.age, self.sex))
def moive(self):
print('{},{}岁,{},喜欢看电影'.format(self.name, self.age, self.sex))
def basketball(self):
print('{},{}岁,{},喜欢打篮球'.format(self.name, self.age, self.sex))
lili = Interest('丽丽', 10, '女')
lili.chinese()
lili.moive()
lili.basketball()
qiangqiang = Interest('强强', 12, '男')
qiangqiang.chinese()
qiangqiang.moive()
qiangqiang.basketball()
(4)
class Person:
def __init__(self, na, gen, age, fig):
self.name = na
self.gender = gen
self.age = age
self.fight =fig
def grassland(self):
print('{}参加一次草丛战斗,消耗200战斗力'.format(self.name))
self.fight = self.fight - 200
def practice(self):
print('{}自我修炼一次,增长100战斗力'.format(self.name))
self.fight = self.fight + 100
def incest(self):
print('{}参加多人游戏一次,消耗500战斗力'.format(self.name))
self.fight = self.fight - 500
def detail(self):
temp = '姓名:%s ; 性别:%s ; 年龄:%s ; 战斗力:%s' % (self.name, self.gender, self.age, self.fight)
print(temp)
#创建人物
xiaoA = Person('小A', '女', 18, 1000) #创建小A
xiaoB = Person('小B', '男', 20, 1800) #创建小B
xiaoC = Person('小C', '女', 19, 2500) #创建小C
#输出所有人初始的详细情况
xiaoA.detail()
xiaoB.detail()
xiaoC.detail()
xiaoA.incest() #小A参加一次多人游戏
xiaoB.practice() #小B自我修炼了一次
xiaoC.grassland() #小C参加一次草丛战斗
#输出所有人当前的详细情况
xiaoA.detail()
xiaoB.detail()
xiaoC.detail()
(5)
class Animal(object):
def __init__(self, color):
self.color = color #定义颜色变量
def move(self): #定义叫方法
print('动物动作')
class Fish(Animal):
def __init__(self, color, type):
super().__init__(color) #调用父类的方法
self.type = type
def move(self):
print('{}的{}在吐泡泡'.format(self.color, self.type)) #访问父类的变量
fish = Fish('红色', '金鱼')
fish.move()
第8章 永久存储的文件1.选择题
(1)D (2)B (3)C (4)A (5)B (6)B (7)C (8)A
2.填空题
(1)close()
(2)列表
(3)tell()
(4)file.seek(10,0)
(5)os.getcwd()
3.编程题
(1)
file = open('1.txt', 'r') #打开文件
content = file.read() #读取文件
list_1 = content.split() #将文件内容使用空格隔开
for i in range(len(list_1)): #将字符串列表转换为整数列表
list_1[i] = int(list_1[i])
list_1.sort() #升序排序
print(list_1)
file.close()
(2)
with open('2.txt', 'w') as file: #打开文件写入
string = input('请输入字符串:\n') #输入字符串
string = string.upper() #将字符串转换为大写
file.write(string) #将字符串写入文件
(3)
with open('a.txt') as file1, open('b.txt') as file2, open('c.txt', 'w') as file3:#同时打开3个文件
string1 = file1.read() #从file1中读取内容赋给string1
string2 = file2.read() #从file2中读取内容赋给string2
string3 = string1 + string2 #将string1和string2连接赋给string3
file3.write(string3) #将string3写入file3
(4)
import os.path #导入os.path模块
path = os.getcwd() + '\\Test' #获取Test文件路径
if not os.path.exists(path): #判断Test文件是否存在,如果不存在则新建
os.mkdir(path)
os.chdir(path) #切换到Test目录
for i in range(10): #新建10个文件夹
name = '\\test' + str(i + 1)
os.mkdir(path + name)
path1 = os.path.split(path)[0] #获取Test文件夹所在目录
for filename in os.listdir(path1): #获取所有文件和文件夹并输出
print(filename)
(5)
import time
def writeNote(): #写便签方法
date = time.localtime() #获取当地时间
date = time.strftime('%Y-%m-%d %H:%M:%S', date) #将时间转换为指定格式字符串
word = input('请输入便签内容:')
with open('note.txt', 'a') as file:
file.write(date + '\t' + word + '\n')
def queryNote(): #查询便签方法
str = input('请输入要查询的文字:')
with open('note.txt') as file:
while True:
line = file.readline() #读取便签信息
if line == '': #如果信息为空
break #跳出循环
if str in line: #如果查询问文字在便签中则输出
print(line, end='')
def showNote():
with open('note.txt') as file:
while True:
line = file.readline() #读取便签信息
if line == '': #如果信息为空
break #跳出循环
print(line, end='') #输出便签信息
print('===============便签本============')
while True:
choice = input('1:写便签,2:查询便签,3:浏览全部便签,q:退出系统\n')
if choice == 'q':
print('退出电子便签')
break
if choice == '1':
writeNote()
elif choice == '2':
queryNote()
elif choice == '3':
showNote()
第9章 一起捉bug1.选择题
(1)B (2)C (3)C (4)D (5)A (6)B (7)B (8)A
2.填空题
(1)IndexError
(2)assert
(3)except
(4)raise
(5)出错啦!
文件已经关闭!
3.编程题
(1)
while True:
try:
c = input('请输入一个小写字符:')
if len(c) == 1: #如果字符的长度为1
if 'a' <= c and c <= 'z': #如果字符为小写字母
print(c) #输出字符
break #跳出循环
else:
raise Exception('应输入小写字符')#抛出异常
else:
raise Exception('只需输入一个字符') #抛出异常
except Exception as e: #捕获异常
print(e)
(2)
class LessZeroException(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return '电量应大于0,输入的电量是{}'.format(self.value)
def ElectricityBill(count):
if count <= 0: #如果count小于0,抛出自定义异常
raise LessZeroException(count)
elif count <= 240: #计算count小于等于240的bill
bill = count * 0.50;
elif count <= 400: #计算count小于等于400的bill
bill = 240 * 0.50 + (count - 240) * 0.53;
else: #计算count大于400的bill
bill = 240 * 0.50 + 160 * 0.53 + (count - 400) * 0.78;
return bill
while True:
try:
count = int(input('请输入用电度数:'))
bill = ElectricityBill(count)
print('本月电费为{}元'.format(bill))
print('本月电费与用电量的比值为', bill / count)
break
except ValueError:
print('输入的电量应为整数!')
except LessZeroException as e:
print(e)
(3)
while True:
try:
player1 = int(input('请用户1输入:0(剪刀) 1(石头) 2(布):'))
#断言player1必须是0,1或2,如果不是抛出异常
assert player1 >= 0 and player1 < 3, 'player1必须是0,1或2'
player2 = int(input('请用户2输入:0(剪刀) 1(石头) 2(布):'))
#断言player2必须是0,1或2,如果不是抛出异常
assert player2 >= 0 and player2 < 3, 'player2必须是0,1或2'
#用户1所有能获胜的判断条件
if ((player1 == 0) and (player2 == 2)) or ((player1 == 1) and (player2 == 0)) \
or ((player1 == 2) and (player2 == 1)):
print('用户1获得胜利') #输出“用户1获得胜利”
elif player1 == player2: #用户1输入与用户2相同时
print('平局,再来一局') #输出“平局,再来一局”
else: #用户2获胜
print('用户2获得胜利') #输出“用户2获得胜利”
break #跳出循环
except AssertionError as e:
print(e)
第10章 玩游戏不如自己开发游戏1.选择题
(1)D (2)B (3)B (4)A (5)B
2.填空题
(1)Surface
(2)pygame.QUIT
(3)pygame.display.update()
3.编程题
(1)
import pygame, sys #导入模块
pygame.init() #初始化pygame
screen = pygame.display.set_mode((400,300)) #设置窗口的大小,单位为像素
pygame.display.set_caption('Drawing') #设置窗口标题
#定义颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
#设置背景颜色
screen.fill(WHITE)
pygame.draw.circle(screen, BLACK, [200, 150], 30)
#程序主循环
while True:
#获取事件并遍历
for event in pygame.event.get():
#如果为退出事件
if event.type == pygame.QUIT:
pygame.quit() #退出pygame
sys.exit() #退出系统
pygame.display.update() #刷新绘图
(2)
import pygame, sys #导入模块
pygame.init() #初始化pygame
FPS = 30 #设置帧率
fpsClock = pygame.time.Clock() #创建时钟对象
#设置窗口大小
screen = pygame.display.set_mode((500, 400))
pygame.display.set_caption('动画') #设置窗口标题
WHITE = (255, 255, 255) #定义颜色
img = pygame.image.load('images\\球.png') #加载图片
sound = pygame.mixer.Sound('sounds\\peng.wav') #创建音效对象
imgx, imgy = 10, 10 #初始化图片的位置
direction = 'right' #初始化图片的移动方向
while True: #循环
screen.fill(WHITE) #背景填充为白色
if direction == 'right': #如果图片向右移动
imgx += 5 #图片x坐标加5
if imgx == 420: #如果图片x坐标等于420
direction = 'down' #设置方向为向下
sound.play() #播放音效
elif direction == 'down': #如果图片向下移动
imgy += 5 #图片y坐标加5
if imgy == 320: #如果图片y坐标等于320
direction = 'left' #设置方向为向左
sound.play() #播放音效
elif direction == 'left': #如果图片向左移动
imgx -= 5 #图片x坐标减5
if imgx == 0: #如果图片x坐标等于0
direction = 'up' #设置方向为向上
sound.play() #播放音效
elif direction == 'up': #如果图片向上移动
imgy -= 5 #图片y坐标减5
《《Python少儿编程》同步训练答案》相关文档:
少儿舞蹈兴趣小组活动计划通用09-15
少儿英语培训学习心得精选范文5篇202309-22
做少儿艺术培训策划方案09-24
社区暑期少儿活动方案七篇09-27
少儿才艺大赛活动方案10-06
少儿绘画比赛活动策划方案范文10-10
少儿节目主持词稿3分钟(精选)10-10
少儿演讲与口才教材10-15
2021少儿美术促销策划方案5篇10-20
少儿美术培训策划书10-20