一级编程题训练

绘图题

画出下面示意图形,要求如下:

(1)画出如下的图形,注:直线部分是由两个步长为200的线段垂直相交组成,圆的直径为200;

(2)图形的中心位置为画布中心;

(3)画笔宽度为2,颜色为红色。

img

参考程序:

import turtle
turtle.pencolor("red")
turtle.pensize(2)
turtle.forward(-100)
turtle.forward(200)
turtle.left(90)
turtle.circle(100,450)
turtle.left(90)
turtle.forward(200)
turtle.done()

计算题

已知一头奶牛每天可以产20千克牛奶。N(N为变量)头奶牛7天可以产多少千克的牛奶?要求:

(1)程序开始运行后,会有提示字符串:“请输入奶牛的头数:”,完成奶牛头数的输入;

(可以直接赋值提示字符串到程序中,提示字符串包括冒号,但不包括双引号)

(2)程序会根据输入的奶牛头数计算出总共产出的牛奶的重量,并将结果进行修饰然后输出。

示例:如果输入奶牛的头数为10,则输出“10 头奶牛7天可以产 1400 千克的牛奶”

参考程序:

N = input("请输入奶牛的头数:")
N = int(N)
milk = N*20*7
print(N,"头奶牛7天可以产",milk,"千克的牛奶")

计算题-三位数

要求:

(1) 程序开始运行后,输入一个三位数整数;

(2) 程序会根据输入的整数输出百位、十位和个位上的数。 例如,输入123,

输出为:“百:1,十:2,个:3”。

参考程序:

x=int(input('输入一个三位数整数:'))
a=x//100
c=x%10
b=x//10%10
print("百:",a,"十:",b,"个:",c)

计算题-时间转换

时间转换:输入一个总秒数,计算是几小时几分钟几秒,并一行输出。要求:

a)输入一行,一个整数,表示总秒数;

b)输出一行,三个整数,表示小时、分钟、秒,每两个数之间用一个空格隔开。

输入样例:

7201

输出样例:

2 0 1

参考程序:

n = int(input('请输入一个总秒数:'))
m = n % 60
f = n // 60 % 60
s = n // 3600
print(s, f, m)

绘图题

要求:

(1)画一个边长为200的正方形,里面嵌套一个直径为100的圆,如下图;

(2)圆的填充颜色为蓝色,所有的线条为黑色。

(3)圆心位置为画布正中心。

IMG_263

参考程序:

import turtle
turtle.penup()#抬起画笔
turtle.goto(-100,100)#画笔到画正方形初始位置
turtle.pendown()#放下画笔
turtle.forward(200)#从当前画笔方向移动200
turtle.right(90)#顺时针针移动90°
turtle.forward(200)#从当前画笔方向移动200
turtle.right(90)#顺时针针移动90°
turtle.forward(200)#从当前画笔方向移动200
turtle.right(90)#顺时针针移动90°
turtle.forward(200)#从当前画笔方向移动200
turtle.right(90)#顺时针针移动90°
turtle.penup()#画笔抬起
turtle.goto(0,-50)#移动到(0,-50)的位置,也就是画圆开始的位置
turtle.pendown()#放下画笔
turtle.fillcolor('blue')#设置填充颜色为蓝色
turtle.begin_fill()#开始填充
turtle.circle(50)#画一个半径为50的圆
turtle.end_fill()#填充结束
turtle.done()#停止画笔等待关闭画布

绘图题

绘制如下图形:

http://www.qceit.org.cn/fileroot/question/980ba91d-ac6b-4754-a6b1-164a149becef/image/20200312/20200312122125_3989.png

1.画一个由两个直角三角形组成的正方形,边长为180像素;

2.左上三角形填充为黄色,右下三角形填充为红色;如上图:

3.设置画笔速度为1,线条为黑色;

4.画图结束,隐藏并停止画笔。

参考程序:

import turtle #库准备
turtle.fillcolor('red') #设置填充颜色为红色
turtle.speed(1) #设置画笔移动速度为1
turtle.begin_fill() #开始填充
turtle.forward(180) #从当前方向移动180
turtle.left(90) #逆时针方向旋转90°
turtle.forward(180) #从当前方向移动180
turtle.goto(0,0) #移动到(0,0)的位置,即起始位置
turtle.end_fill() #填充结束
turtle.fillcolor('yellow') #设置填充颜色为黄色
turtle.begin_fill() #开始填充
turtle.forward(180) #从当前方向移动180
turtle.right(90) #顺时针方向旋转90°
turtle.forward(180) #从当前方向移动180
turtle.end_fill() #填充结束
turtle.hideturtle() #隐藏画笔
turtle.done() #停止画笔等待关闭

绘图题

绘制如下图形 ,一个正方形,内有三个红点,中间红点在正方形中心。

IMG_264

要求如下:

(1)正方形边长为200,线条为黑色;

(2)圆点的直径均为20 ,填充颜色为红色,画完后隐藏画笔;

(3)中间圆点的圆心位置为画布正中心,三个圆心之间距离相隔为40。

参考程序:

import turtle
turtle.penup()
turtle.goto(-100,100)
turtle.pendown()
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.penup()
turtle.goto(0,0)
turtle.dot(20,'red')
turtle.penup()
turtle.goto(-40,0)
turtle.dot(20,'red')
turtle.penup()
turtle.goto(40,0)
turtle.dot(20,'red')
turtle.hideturtle()

计算题-龟兔赛跑

龟兔赛跑,兔子刚开始跑得非常快,但是兔子太骄傲了,在领先乌龟100米时,自行休息睡着了,乌龟一步一步进行追赶,乌龟的速度是V m/s(V<10),请计算出乌龟多长时间就可以追上兔子呢?要求:

(1) 程序开始运行时,询问请输入乌龟爬行的速度,输入一个数字;

(2) 程序根据输入的数字计算出乌龟需要多长时间就可以追上兔子;

(3) 输出的格式为:“乌龟能够追上兔子所需的时间是:*秒。”。

参考程序:

a=int(input("请输入乌龟爬行的速度"))
b=100/a
print("乌龟能够追上兔子所需的时间是:",b,"秒")

计算题-长方形的面积与周长

求长方形的面积与周长。

要求:

(1)程序开始运行后,输入长方形的长(a),然后再输入长方形的宽(b);

(2)程序会根据输入的数字给出长方形的面积和长方形的周长;

(3)输出长方形的面积和周长,并且注明是面积还是和周长。

参考程序:

a=int(input("请输入长方形的长:"))  
b=int(input("请输入长方形的宽:"))  
c=a*b  
d=(a+b)*2  
print("长方形的面积是:",c)  
print("长方形的周长是:",d)

绘图题

绘制如下图形,相关参数及要求如下:

image-20230314152133865

(1)画笔起始位置不限,但是整个图形必须要能够在画布中呈现;

(2)大的正方形由四个小正方形组成;

(3)每个小正方形的边长均为100像素;

(4)左上角和右下角的正方形填充颜色均为黑色;

(5)所有的线条颜色均为黑色;

(6)绘制完成后,隐藏画笔。

参考程序:

import turtle as t
 t.forward(200)
 t.right(90)
 t.forward(200)
 t.right(90)
 t.forward(200)
 t.right(90)
 t.forward(200)
 t.right(90)
 t.fillcolor('black')
 t.begin_fill()
 t.forward(100)
 t.right(90)
 t.forward(100)
 t.right(90)
 t.forward(100)
 t.right(90)
 t.forward(100)
 t.right(90)
 t.end_fill()
 t.goto(200,-200)
 t.right(-90)
 t.fillcolor('black')
 t.begin_fill()
 t.forward(100)
 t.left(90)
 t.forward(100)
 t.left(90)
 t.forward(100)
 t.left(90)
 t.forward(100)
 t.left(90)
 t.end_fill()
 t.done()

计算题

写一个计算长方形面积的程序,并对每行代码进行相应的注释,要求如下: (1)采用多行注释,说明程序的功能(如下): “计算长方形的面积 并输出结果”; (2)设置第1个变量:用“a”表示长方形的长,并赋值为6;使用单行注释说明程序的功能; (3)设置第2个变量:用“b”表示长方形的宽,并赋值为3;使用单行注释说明程序的功能; (3)设置第3个变量:用“s”表示长方形的面积,并体现运算公式,使用单行注释说明程序功能; (4)输出长方形的面积,运行结果格式为:“长方形的面积为:”并使用单行注释说明程序功能。

参考程序:

'''
计算长方形的面积
并输出结果
'''
a=6     #长方形的长
b=3     #长方形的宽
s=a*b   #长方形的面积
print("长方形的面积为:",s)   #输出长方形的面积

绘图题

绘制如下图形:

IMG_256

(1)画一个由一个正方形和一个菱形组成的图形,其中,正方形的边长为200象素,菱形的四个顶点均在正方形四条边的中点上;

(2)设置画笔速度为1;

(3)菱形的填充颜色为红色,所有线条为黑色;

(4)画图结束,隐藏并停止画笔。

参考程序:

import turtle 
turtle.fillcolor("red") #设置填充颜色为红色
turtle.speed(1)#设置画笔移动速度为1
turtle.forward(200) #从当前方向移动200
turtle.left(90)#逆时针方向旋转90度
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.up()#抬起画笔
turtle.goto(100,0)#移动到(100,0)的位置,即菱形的第一个顶点位置
turtle.down()#放下画笔
turtle.begin_fill()#开始填充
turtle.goto(200,100)#移动到(200,100)的位置,即菱形的第二个顶点位置
turtle.goto(100,200)#移动到(100,200)的位置,即菱形的第三个顶点位置
turtle.goto(0,100)#移动到(0,100)的位置,即菱形的第四个顶点位置
turtle.goto(100,0)#移动到(100,0)的位置,即菱形的第一个顶点位置
turtle.end_fill()#填充结束
turtle.hideturtle()#隐藏画笔
turtle.done()#停止画笔等待关闭

绘图题-画一个笑脸

要求:画一个笑脸,里面填充如下图。

image-20230314165432894

(1)画一个半径为200的圆,起点坐标(0 ,-200);

(2)左眼为半径20的圆,起点坐标(-100 ,50)填充蓝色,右眼和左眼水平相距200;

(3)鼻子的起点坐标(0 ,50),形状为半径-50圆的内切正三角形;

(4)左嘴角坐标(-150,-70),嘴下部坐标(0,-170),左嘴角到右嘴角的宽度300。

参考程序:

import turtle
#画圆脸
turtle.penup() #画笔抬起
turtle.goto(0, -200) #回到画大圆脸的初始位置
turtle.pendown()#落下画笔
turtle.circle(200)#画一半径为200,圆心在画笔左边圆
#画左眼
turtle.penup()#画笔抬起
turtle.goto(-100, 50) #回到画左眼小圆的初始位置
turtle.pendown()#落下画笔
turtle.fillcolor('blue') #设置填充颜色为蓝色
turtle.begin_fill()#开始填充
turtle.circle(20) #画一半径为20的圆,圆心在画笔左边
turtle.end_fill()#填充结束
#画右眼
turtle.penup()#画笔抬起
turtle.goto(100, 50) #回到画右眼小圆的初始位置
turtle.pendown()#落下画笔
turtle.fillcolor('blue') #设置填充颜色为蓝色
turtle.begin_fill()#开始填充
turtle.circle(20) #画一半径为20的圆,圆心在画笔左边
turtle.end_fill()#填充结束
#画鼻子
turtle.penup()#画笔抬起
turtle.goto(0, 50) #回到画鼻子的初始位置
turtle.pendown()#落下画笔
turtle.circle(-50, steps=3) #画半径-50圆内切正三角形,圆心在画笔右边
#画嘴
turtle.penup()#画笔抬起
turtle.goto(-150, -70) #回到画嘴的初始位置左嘴角
turtle.pendown()#落下画笔
turtle.goto(0, -170)#移动到嘴底部画线
turtle.goto(150, -70) #移动到右嘴角画线
turtle.done()#停止画笔等待关闭画布

计算题-圆的计算

编写一个程序,它以圆的半径作为输入,输出圆的直径、周长和面积(保留两位小数)。

要求: 程序开始运行后,输入一个数字作为半径; 程序会根据输入的数字给出圆的直径、周长和面积,并且注明是直径、周长、面积。

参考程序:

p=3.14
r=eval(input("请输入一个大于0的半径:"))
a=2*r
b=a*p
c=p*r*r
print("圆的直径是:%.2f"%a)
print("圆的周长是:%.2f"%b)
print("圆的面积是:%.2f"%c)

计算题-正方形的周长和面积

计算正方形的周长和面积。

要求:

(1)程序开始运行后,会有提示字符串:“请输入正方形的边长(米):”,完成正边长的输入;

(可以直接赋值提示字符串到程序中,提示字符串包括冒号,但不包括双引号)

(2)程序会根据输入边长计算出正方形的周长和面积,并将结果进行修饰然后输出。

示例:如果输入正方形的边长10,则输出“边长为10米的正方形周长是40米,

面积是100平方米”

参考程序:

a = input("请输入正方形的边长(米):")
a = int(a)
C = a*4
S = a**2
print("边长为",a,"米的正方形周长是",C,"米,面积是",S,"平方米")

绘图题

绘制一个如下的图形,线条和填充颜色均为红色。实心圆的半径为50,外圆的半径为100。

img

参考程序:

import turtle as t
t.color('red')
t.circle(100)
t.begin_fill()
t.circle(50)
t.end_fill()
t.done()

计算题-高铁问题

已知高铁速度350km/h,输入路程(km),计算需要的时间(小时),并保留两位小数输出。

例如:

输入:

​ 请输入总路程(km):875

输出:

​ 需要运行2.50小数

参考程序

n=input("请输入总路程(km):")
b=eval(n)
s=b/350
print("需要运行%.2f小时"%(s))

绘图题-同心圆

绘制如下图形,蓝色圆半径100,黄色圆半径为50,红色为25,三个圆的圆心均在画布中心(0,0)点。

image-20230314165627795

参考程序:

import turtle as t
#蓝色的圆
t.penup()
t.goto(0,-100)
t.color('blue')
t.pendown()
t.begin_fill()
t.circle(100)
t.end_fill()
#黄色的圆
t.penup()
t.goto(0,-50)
t.color('yellow')
t.pendown()
t.begin_fill()
t.circle(50)
t.end_fill()
#蓝色的圆
t.penup()
t.goto(0,-25)
t.color('red')
t.pendown()
t.begin_fill()
t.circle(25)
t.end_fill()
t.hideturtle()

绘图题-五角星

按照要求绘制一个五角星:

(1)海龟初始位置的坐标为(0,0);

(2)设置画笔大小为5,

(3)画笔颜色为红色(red);

(4)五角星填充颜色为黄色(yellow)。

(5)五角星大小不限,但是要能清晰看出是五角星,并且完全在考试平台上显示出来。

图片2.png

提示:五角星每个角为36度

参考程序

import turtle
turtle.pensize(5)
turtle.pencolor("red")
turtle.fillcolor("yellow")
turtle.begin_fill()
turtle.forward(200)
turtle.right(144)
turtle.forward(200)
turtle.right(144)
turtle.forward(200)
turtle.right(144)
turtle.forward(200)
turtle.right(144)
turtle.forward(200)
turtle.end_fill()

绘图题-数字2

绘制一个数字2,要求线条颜色为红色,粗细为5个像素,如下图:

img

参考程序

import turtle
turtle.pencolor("red")
turtle.pensize(5)
turtle.forward(100)
turtle.right(90)
turtle.forward(80)
turtle.right(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(80)
turtle.left(90)
turtle.forward(100)
turtle.done()

计算题-身高

描述:

假设孩子的身高完全由爸爸和妈妈的遗传因素决定,预测一下长大后孩子的身高是多少?

孩子获得了爸爸妈妈各一半的遗传基因,所以可以用以下公式计算孩子未来的身高。(单位:厘米)

孩子未来的身高=(爸爸的身高+妈妈的身高+13乘以性别系数)/2

如果是“男孩”,性别系数值为“1”;如果是“女孩”,则性别系数值为“-1”。

输入格式:

第一行输入一个数字,代表爸爸的身高

第二行输入一个数字,代表妈妈的身高

第三行输入一个数字(1或-1),代表性别系数

​ (输入使用input(),并有相应提示信息)

输出格式:

​ 输出孩子未来的身高。(输出使用print(),并有相应提示信息)

参考程序

f=input("请输入爸爸的身高:")
m=input("请输入妈妈的身高:")
s=input("请输入性别系数:")
f=float(f)
m=float(m)
s=float(s)
h=(f+m+13*s)/2
print("孩子未来的身高:",h,"(厘米)")

绘图题-4个圆

要求:如图所示绘制四个圆

IMG_256

(1)海龟的初始位置的坐标为(0,0);

(2)绘制第1个左上方的圆形,半径为40;

(3)绘制第2个左下方的圆形,半径为40;

(4)海龟由初始位置坐标(0,0)移动至坐标(80,0);

(5)绘制第3个右上方的圆形,半径为40;

(6)绘制第4个右下方的圆形,半径为40;

参考程序:

import turtle
turtle.circle(40)
turtle.circle(-40)
turtle.forward(80)
turtle.circle(40)
turtle.circle(-40)
turtle.done()

计算题-买本子

买本子:小明同学带了一些钱去帮同学们买本子。请根据所带的元数、单价和数量,算一算钱够不够。

要求:

(1) 程序运行后,输入三次数字(不能一次输完),这三个数字为整数,表示所带的元数(钱数)、本子的单价和数量;

(2) 输出一行,钱足够买就输出"True",钱不够买就输出"False"(不要输出引号)。

输入样例:

100

9

11

输出样例:

True

参考程序:

y = int(input("请输入总元数:"))
dj = int(input("请输入单价:"))
sl = int(input("请输入总数:"))
zj = dj * sl
print(y >= zj)

绘图题

请使用turtle画出如图标志。

IMG_256

要求:

(1)线条颜色为黑色,线条粗细为10;

(2)圆半径为50,填充颜色为蓝色;

(3)等边三角形边长为180;

(4)等边三角形底边中点位置为画布正中心。

参考程序:

import turtle # 加载turtle库
turtle.penup() # 抬笔
turtle.clear() # 清空
turtle.goto(0, 0) # 到达原点
turtle.pensize(10) # 设置线条粗细为10
turtle.pencolor("black") # 设置线条颜色为黑色
turtle.pendown() # 落笔

# 画圆
turtle.fillcolor("blue") # 设置填充颜色为浅蓝色
turtle.begin_fill() # 开始填充
turtle.setheading(0) # 设置方向向右
turtle.circle(50) # 绘制半径为50的圆形
turtle.end_fill() # 结束填充

# 画三角形右边
turtle.forward(90) # 前进90步
turtle.left(120) # 逆时针旋转120度
turtle.forward(180) # 前进180步

# 画中间竖线
turtle.goto(0, 0) # 到达坐标(0, 0)
# 画三角形左边
turtle.setheading(180) # 设置方向向左
turtle.forward(90) # 前进90步
turtle.right(120) # 顺时针旋转120度
turtle.forward(180) # 前进180步

turtle.penup() # 抬笔
turtle.done() # 画笔结束

绘图题

画出下面示意图形,要求如下:

(1)画出如下的图形,注:直线部分是由两个步长为200的线段垂直相交组成,圆的直径为200;

(2)图形的中心位置为画布中心;

(3)画笔宽度为2,颜色为红色。

img

参考程序:

import turtle as t
t.pencolor("red")
t.pensize(2)
t.forward(100)
t.left(90)

t.fillcolor('yellow')
t.begin_fill()
t.circle(100,90)
t.goto(0,0)
t.end_fill()
t.goto(0,100)
t.fillcolor('blue')
t.begin_fill()
t.circle(100,90)
t.goto(0,0)
t.end_fill()
t.goto(-100,0)
t.fillcolor('yellow')
t.begin_fill()
t.circle(100,90)
t.goto(0,0)
t.end_fill()
t.goto(0,-100)
t.fillcolor('blue')
t.begin_fill()
t.circle(100,90)
t.goto(0,0)
t.end_fill()

计算题

中国电子学会组织来自全国各地的学生参加人工智能活动,按参加学生名单顺序,每 10个人一排,若想知道第n个人在哪一排就坐,请编程实现?

要求如下:

(1)输入学生的编号;

(2)输出所在的排数;

例如:

请输入学生编号:46

编号 46 的学生坐着第 5 排

参考程序

n=input('请输入学生编号:')
n=int(n)
a=(n+9)//10
print('编号',n,'的学生坐着第',a,'排')

计算题

输入一个两位数,可以将十位数和个位数对调位置输出。

例如:输入18,输出81

参考程序:

a=input("请输入一个两位数:")
a=int(a)
b=a//10
c=a%10
d=c*10+b
print(d)

绘图题

绘制如下图形:

img

1.画一个由四个直角三角形组成的正方形,边长为200像素;

2.颜色分别为红色、蓝色、黄色、黑色;如图:

3.设置画笔速度为1;

4.画图结束,隐藏并停止画笔。

参考程序

import turtle as t
t.color('red')
t.begin_fill()
t.goto(-100,-100)
t.goto(100,-100)
t.goto(0,0)
t.end_fill()

t.color('blue')
t.begin_fill()
t.goto(100,-100)
t.goto(100,100)
t.goto(0,0)
t.end_fill()

t.color('yellow')
t.begin_fill()
t.goto(100,100)
t.goto(-100,100)
t.goto(0,0)
t.end_fill()

t.color('black')
t.begin_fill()
t.goto(-100,100)
t.goto(-100,-100)
t.goto(0,0)
t.end_fill()

t.hideturtle()
t.done()

绘图题-天狗吃月亮

“天狗吃月亮”是一个古老的神话,以前古人不了解月食这一现象,所以说月亮被狗吃了,天狗吃月亮是古人对“月食”这一天文现象的简称。月食是自然界的一种现象,当太阳、地球、月球三者恰好或几乎在同一条直线上时(地球在太阳和月球之间),太阳到月球的光线便会部分或完全地被地球遮挡,产生月食。请你设计一段程序完成下列图片的月食现象。

图片4.png

要求:

(1)海龟的初始位置的坐标为(0,0),月食现象的图片需在整个画布中完整呈现;

(2)月食现象由两个圆或点组成,分别为半径不同的黄色和白色的圆或点;

(3)绘制半径为150的圆或点,并填充颜色为黄色,该图形的中心位置为画布的正中心位置(0,0);

(4)绘制半径为75的圆或点,并填充颜色为白色,该图形的中心位置坐标为(150,0)。

参考程序:

import turtle
turtle.color("yellow")
turtle.dot(300)
turtle.forward(150)
turtle.color("white")
turtle.dot(150)

计算题-鞋码

每个人都知道自己的鞋码,但是不知道自己的脚长,请写一个程序,帮助大家利用鞋码算出脚长。

要求:

1.允许用户输入自己的鞋码,并有提示语'请输入你的鞋码:',不需要包括单引号;

2.计算鞋码,脚长 = (鞋码 + 10) / 2;

3.输出脚长,并有提示语'你的脚长是(单位:厘米):',不需要包括单引号。

示例:

输入:38

输出:你的脚长是(单位:厘米):24.0

参考程序

n=input('请输入你的鞋码:')
n=int(n)
x=(n+10)/2
print('你的脚长是(单位:厘米):',x)
Copyright © all right reserved,powered by Gitbook该文件修订时间: 2023-07-23 15:44:24