"""
第一题参考答案.py,三角切半圆
"""
import turtle
turtle.color('red','yellow') # 设定画笔颜色和填充颜色
turtle.penup() # 抬笔
turtle.ht() # 隐藏
turtle.fd(150) # 前进150
turtle.pendown() # 落笔
turtle.begin_fill() # 开始填充
for x in range(3):
turtle.left(120)
turtle.fd(300)
turtle.end_fill() # 结束填充
turtle.penup() # 抬笔
turtle.goto(150,-150) # 定位坐标
turtle.setheading(90) # 面向90度方向
turtle.color('green') # 设定颜色为绿色
turtle.begin_fill() # 开始填充
turtle.circle(150,180) # 画半径为150的半圆
turtle.end_fill() # 结束填充
turtle.mainloop()
"""
第二题百钱买百鸡.py
"""
for x in range(100//5): # 公鸡5元一只,所以最多100/5只.
for y in range(100//3):
for z in range(100*3):
p = x * 5 + y * 3 + z * 1/3
if x + y + z == 100 and p == 100:
print('公鸡',x,'只,','母鸡',y,'只,','小鸡仔',z,'只',sep='')
input()
"""
第三题.py,菱形绕圆圈
"""
import turtle
def draw():
"""定义画菱形函数"""
turtle.right(30)
turtle.begin_fill()
for _ in range(2):
turtle.fd(80)
turtle.left(60)
turtle.fd(80)
turtle.left(120)
turtle.end_fill()
turtle.left(30)
turtle.ht() # 隐藏
turtle.penup() # 抬笔
turtle.pencolor('red')# 画笔颜色
# 画圆形
turtle.fd(120) # 首先前进120
turtle.left(90) # 左转90变成向上
turtle.pendown() # 落笔
turtle.circle(120) # 画圆
turtle.penup() # 抬笔
turtle.right(90) # 右转90度
turtle.bk(120) # 回到初始位置
# 画12个菱形
turtle.color('black','yellow')
for _ in range(12):
turtle.fd(120)
turtle.pendown()
draw()
turtle.penup()
turtle.bk(120)
turtle.right(30)
turtle.mainloop()
"""
第四题输入英文字母统计字母频率
"""
s1 = input("请输入第1行英文字母:")
s2 = input("请输入第2行英文字母:")
s3 = input("请输入第3行英文字母:")
s = s1 + s2 + s3 # 把三行连接起来
print(s)
bs = s.upper() # 转为大写的字符串
letters = [] # 新建列表,为了把非字母去掉
for a in list(bs):
if a.isalpha(): # 是字母才添加
letters.append(a)
letters = set(letters) # 转换为集合,去除重复
letters = list(letters) # 再次转为列表,好排序
letters.sort() # 排序
for alpha in letters: # 输出每一个字母
print(alpha,end=' ')
print()
for alpha in letters: # 统计每个字母的字符数
print(bs.count(alpha),end=' ')
"""包括这一行,非本程序内容,这里是记录一下本程序的一个输出而已.
请输入第1行英文字母:I love you,my baby.
请输入第2行英文字母:You are a good boy.
请输入第3行英文字母:We are very happy with you.
I love you,my baby.You are a good boy.We are very happy with you.
A B D E G H I L M O P R T U V W Y
5 3 1 5 1 2 2 1 1 7 2 3 1 3 2 2 8
"""
input()
"""
第五题,打印杨辉三角.py
"""
level = input('请输入2到15间的正整数:')
level = int(level)
q = [] # 存储杨辉三角数据的列表
q.append( [0,1,0] ) # level为1时
q.append([0,1,1,0]) # level为2时
for n in range(2,level):
temp = [0,0]
for index in range(len(q[n-1])-1):
# 下一个数据为上两个数据之和
x = q[n-1][index] + q[n-1][index+1]
temp.insert(1,x) # 插入到索引为1的位置
q.append(temp)
rows = 0
for p in q:
cols = 0
spaces = 2 * (n - rows) # 计算空格数
print(" " * spaces,end="") # 打印空格
for x in p:
if x == 0 :continue
print("{:>4}".format(x),end="")
print()
rows = rows + 1