300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 全国计算机二级Python常见操作题(41-44)汇总

全国计算机二级Python常见操作题(41-44)汇总

时间:2022-07-14 08:14:18

相关推荐

全国计算机二级Python常见操作题(41-44)汇总

随机选择一个手机品牌屏幕输出:

importrandom

brandlist = [三星,苹果,vivo,OPPO,魅族]

random.seed(0)

name = brandlist[random.randint(0,4)]

print(name)

【变形1】以255为随机数种子,随机生成5个在1(含)到50(含)之间的随机整数,每个随机数后跟随一个空格进行分隔,屏幕输出这5个随机数。

import random

random.seed(255)

for i in range(5):

print(random.randint(1, 50),end=" ")

【变式1.1】以0为随机数种子,随机生成5个在1(含)到97(含)之间的随机数,计算这五个随机数的平方和。

import random

random.seed(0)

s = 0

for i in range(5):

n = random.randint(1,97) # 产生随机数

s =s+n**2

print(s)

【变式2】以25为种子,随机生成1个1~100之间的整数,让用户来猜,用户最多只能猜6次。接收用户输入的数字,输入的数字和随机数相同时,则打印“恭喜你,猜对了!”,然后程序结束;若输入的数比随.机数小,则打印小了,请再试试”,程序继续;若输入的数比随机数大,则打印“大了,请再试试",程序继续;若6次还没猜对,在评判大小后,输出“谢谢!请休息后再猜”,然后程序退出。

import random

random.seed(25)

n =random.randint(1,100)

for m in range(1,7):

x = eval(input("请输入猜测数字:"))

if x == n:

print("恭喜你,猜对了!")

break

elifx > n:

print("大了,再试试")

else:

print("小了,再试试")

ifm == 6:

print("谢谢!请休息后再猜")

2.键盘输入一段文本,保存在一个字符串变量s中,分别用内置函数及jieba库中已有1函数计算字符串s中的中文字符个数及中文词语个数。注意:中文字符包含中文标点符号。

import jieba

s = input("请输入一个字符串")

n =len(s)

m =len(jieba.lcut(s))

print("中文字符数为{},中文词语数为{}。".format(n, m))

【变形1】.键盘输入一段中文文本,不含标点符号和空格,命名为变量s,采用jieba库对其进行分词,输出该文本中词语的平均长度,保留1位小数。例如:键盘输入:黑化肥发灰会挥发屏幕输出:2.7

importjieba

txt = input("请输入一段中文文本:")

ls = jieba.lcut(txt)

print("{:.1f}".format(len(txt)/len(ls)))

【形似神不似1】让用户输入一串数字和字母混合的数据,然后统计其中数字和字母的个数,显示在屏幕上。例如:输入:fda243fdw3输出:数字个数:4,字母个数:6

ns = input("请输入一串数据:")

dnum,dchr =0,0

for i in ns:

if i.isnumeric():

dnum +=1

elif i.isalpha():

dchr +=1

else:

pass

print(数字个数:{},字母个数:{}.format(dnum,dchr))

3.某商店出售某品牌服装,每件定价150,一件不打折,两件(含)到三件(含)打九折,四件(含)到九件(含)打八折,10件(含)以上打七折,键盘输入购买数量,屏幕输出总额(保留整数)。

n = eval(input("请输入数量:"))

if n == 1:

cost=150

elif n>=2 and n<=3:

cost=int(n*150*0.9)

elif n>=4 and n<=9:

cost=int(n*150*0.8)

elif n>=10:

cost=int(n*150*0.7)

print("总额为:",cost)

4.使用turtle库的turtle。right函数和turtle.fd()函数绘制一个五角星,边长为200像素,内角度数为36。

from turtle import *

for i inrange(5):

fd(200)

right(144)

【变形1】使用turtle厍的turtle.fdQ函数和turtle.seth(函数绘制一个边长为200、画笔为2号笔的正五边形,正五边形5个内角均为108度。效果如下图所示,箭头与下图严格一致。(箭头右平)

import turtle

turtle.pensize(2)

d = 72

for i in range(5):#或者(1,6)

turtle.seth(d)

d += 72

turtle.fd(200)

【变形1.2】.使用turtle库的turtle.fdO函数和turtle.seth()函数绘制一个正方形,边长为200像素,效果如下图所示。(箭头位于左下角,向右)。

import turtle

d = 0

for i in range(4):

turtle.fd(200)

d =d + 90

turtle.seth(d)

【变形2.1】.使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为40像素的正12边形,(箭头在最下面的横线左侧向右)

import turtle

turtle.pensize(2)

d=0

for i in range(1,13):

turtle.fd(40)

d +=30

turtle.seth(d)

【变形2.2】边长像素100的正八边形

import turtle

turtle.pensize(2)

d = 0

for i in range(1,9):

turtle.fd(100)

d +=45

turtle.seth(d)

【变式2.3】使用turtle库的turtle.fd)函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形。

import turtle

turtle.pensize(2)

for i in range(4):

turtle.fd(200)

turtle.left(90)

turtle.left(-45)

turtle.circle(100*pow(2,0.5))

【变式3】画直方图,ls=【69,292,33,131,61,254】(箭头在最后一列向上)。

import turtle as t

ls = [69, 292, 33, 131, 61, 254]

X_len = 400

Y_len = 300

x0 = -200

y0 = -100

t.penup()

t.goto(x0, y0)

t.pendown()

t.fd(X_len)

t.fd(-X_len)

t.seth(90)

t.fd(Y_len)

t.pencolor( ed)

t.pensize(5)

for i in range(len(ls)):

t.penup()

t.goto(x0 + (i+1)*50, -100)

t.seth(90)

t.pendown()

t.fd(ls[i])

t.done()

【变式4】,在屏幕上绘制5个圆圈,圆圈的半径和圆初始坐标由randint()函数产生,圆的X和Y坐标范围在[-100,100]之间;半径的大小范围在[20,50]之间,圆圈的颜色随机在color列表里选择。

import turtle as t

import random as r

color = [ ed,orange,lue,green,purple]

r.seed(1)

for i in range(5):

rad = r.randint(20,50)

x0 = r.randint(-100,100)

y0 = r.randint(-100,100)

t.color(r.choice(color))

t.penup()

t.goto(x0,y0)

t.pendown()

t.circle(rad)

t.done()

【变式4.1】使用trtle库绘制三个彩色的圆,圆的颜色按顺序从颜色列表color中获取,圆的圆心位于(0.0)坐标处,半径从里至外分别是10像素,30像素,60像素。

import turtle as t

color = [ ed,green,lue]

rs = [10,30,60]

for i in range(3):

t.penup()

t.goto(0,-rs[i])

t.pd()

t.pencolor(color[i])

t.circle(rs[i])

t.done()

5.键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为30个字符,艾特字符@填充,右对齐,带千位分隔符。如果输入正整数超过30位,则按照真实长度输出。

n = eval(input("请输入正整数:"))

print("{0:@>30,}".format(n))

【变式1】.键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为25个字符,等号字符(=填充,右对齐,带千位分隔符。如果输入正整数超过25位,则按照真实长度输出。例如:键盘输入正整数n为1234,屏幕输出:============1,234

s = input()

print("{:=>25,}".format(eval(s)))

【变式1.2】.键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为15个字符,数字右边对齐,不足部分用*填充。例如:键盘输入正整数n为1234,屏幕输出***********1234

n = eval(input("请输入正整数:"))

print("{:*>15}".format(n))

【变式2】程序接收用户输入的五个数,以逗号分隔。将这些数字按照输入顺序输出,每个数字占10个字符宽度,右对齐,所有数字显示在同一行。例如:输入:23,42,543,56,71输出:

num = input().split(,)

for i in num:

print({:>10}.format(i),end= )

6.a和b是两个列表变量,列表a为[11,3.8]已给定,键盘输八列表b,计算a中元素与b中对应元素乘积的累加和。

a = [11, 3, 8]

b = eval(input())

s = 0

for i inrange(3):

s += a[i] * b[i]

print(s)

【变式1】a和b是两个长度相同的列表变量,列表a为[3,6,9]已给定,键盘输入列表b,计算a中元素与b中对应元素的和形成新的列表c,在屏幕上输出。例如:键盘输入列表b为[1.2.3],屏幕输出计算结果为[4,8.12]

a = [3,6,9]

b = eval(input()) #例如:[1,2,3]

c = []

for i in range(3):

c.append(a[i]+b[i])

print(c)

7.从键盘输入4个数字,各数字采用空格分隔,对应为变量x0,y0,x1,y1。计算两点(x0,y0)和(x1,y1)之间的距离,屏幕输出这个距离,保留1位小数。例如:键盘输入:3480 屏幕输出:6.4

ntxt = input("请输入4个数字(空格分隔):")

nls = ntxt.split( )

x0 = eval(nls[0])

y0 = eval(nls[1])

x1 = eval(nls[2])

y1 = eval(nls[3])

r = pow(pow(x1-x0, 2) + pow(y1-y0, 2),0.5)

print("{:.1f}".format(r))

8.键盘输入一个9800到9811之间的正整数n,作为Unicode编码,把n-1、n和n+1三个Unicode编码对应字符按照如下格式要求输出到屏幕:宽度为11个字符,加号字符+填充,居中。例如:键盘输入:9802;屏幕输出:(此处省略)

n = eval(input("请输入一个数字:"))

print("{:+^11}".format(chr(n-1)+chr(n)+chr(n+1)))

9.获得用户输入的一个字符串,将字符串逆序输出,同时紧接着输出字符串的个数.

s=input()

print(s[::-1])

print(len(s))

10.获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为差,c为数值的数量,产生—个递增的等差数列,将这个数列以列表格式输出。

a, b, c = [int(x) for x in input().split(,)]

ls = []

for i in range(c):

ls.append(a + (i * b))

print(ls)

【等比数列】获得用户输入的以逗号分隔的三个数字,记为a、b、c, 以a为起始数值,b为前后相邻数的比值,c为数列长度,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后一个元素输出后无逗号。

a, b, c =[int(x) for x in input().split(,)]

ls = []

for i in range(c):

ls.append(str(a * (b ** i)))

print(",".join(ls))

11.社会平均工作时间是每天8小时(不区分工作日和休息日),一位计算机科学家接受记者采访时说,他每天工作时间比社会平均工作时间多3小时。如果这位科学家的当下成就值是1,假设每工作1个小时成就值增加0.01%,计算并输出两个结果:这位科学家5年后的成就值,以及达到成就值100所需要的年数。其中,成就值和年数都以整数表示,每年以365天计算。输出格式示例如下:5年后的成就值是XXXX年后成就值是100。

scale = 0.0001 # 成就值增量

def calv(base, day):

val = base * pow(1+scale,day*11)

return val

print(5年后的成就值是{}.format(int(calv(1, 5*365))))

year = 1

while calv(1,year*365) < 100:

year += 1

print({}年后成就值是100.format(year))

12.程序接收用户输入的一个数字并判断是否为正整数,如果不是正整数,则显示“请输入正整数”并等待用户重新输入,直至输入正整数为止,并显示输出该正整数。例如:输入∶请输入一个正整数:357输出:357

while True:

try:

a = eval(input(请输入一个正整数: ))

if a > 0 andtype(a)==int:

print(a)

break

else:

print("请输入正整数")

except:

print("请输入正整数")

13.接收用户输入的一个小于20的正整数,在屏幕上逐行递增显示从01到该正整数,数字显示的宽度为2,不足位置补0,后面追加—个空格,然后显示> 号,>号的个数等于行首数字。例如:输入:3输出:01 >02 >>03>>>(分行的)

n = input(请输入一个正整数:)

for i in range(1,eval(n)+1):

print({:0>2} {}.format(i,>*i))

[解题思路]

该题目主要考查Python字符串的格式化方法。Python语言推荐使用format0格式化方法,其使用方式如下:

<模板字符串> format(<逗号分隔的参数>)

其中,模板字符串是一一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号({}) 表示,对应format()方法中逗号分隔的参数。如果模板字符串中有多个槽,可以通过format(参数的序号在模板字符串槽中指定参数的使用,参数从0开始编号。例如:

“{0}日学而不思则罔,思而不学{1}。"format("孔子”:”则殆"其结果为:孔子日学而不思则罔思而不学则殆。。 format0方法的槽除了包括参数序号,还可以包括格式控制信息,语法格式如下:

{<参数序号>:<格式控制标记>}其中,格式控制标记包括: <填充

><对齐><宽度><.><精度><类型>6个字段,由引导符号(:) 作为引导标记,这些字段都是可选的,可以组合使用。

<填充>:指用于填充的单个字符。

<对齐>:分别使用<、>和^三个符号表示左对齐、右对齐和居中对

<宽度>:当前槽的设定输出字符宽度。

<>:用于显示数字类型的千位分隔符。

<精度>:由小数点(.) 开头,对于浮点数,精度表示小数部分输

出的有效位数;对于字符串,精度表示输出的最大长度。

<类型>:表示输出整数和浮点数类型的格式规则。

【变形1】将程序里定义好的std列表里的姓名和成绩与已经定义好的模板拼成一段话,显示在屏幕上。例如:亲爱的张三,你的考试成绩是英语90,数学87,Python语言95,总.成绩272.特此通知....(略)

std = [[张三,90,87,95],[李四,83,80,87],[王五,73,57,55]]

modl = "亲爱的{}, 你的考试成绩是: 英语{}, 数学{}, Python语言{}, 总成绩{}.特此通知."

for st in std:

cnt =0

for i in range(1,4):

cnt +=st[i]

print(modl.format(st[0],st[1],st[2],st[3],cnt))

【变形2】获得用户输入的一个数字,对该数字以30字符宽度,十六进制,居中输出,字母小写,多余字符采用双引号(")填充。

s = input()

print("{:\"^30x}".format(eval (s)))

【变形3】让用户输入一个自然数n,如果n为奇数,输出表达式1+1/3+1/5+...+1/m的值;如果n为偶数,输出表达式1/2+1/4+1/6+... +1/n的值。输出结果保留2位小数。

def f(n):

s = 0

ifn%2 == 1:

for i in range(1, n+1, 2):

s += 1/i

else:

for i in range(2, n+1, 2):

s += 1/i

return s

n = int(input())

print({:.2f}.format(f(n)))

14.获得用户输入的一个数字,其中数字字符(0到9)用对应的中文字符“O一二三四五六七八九”替换,输出替换后的结果。

n = input()

s = "〇一二三四五六七八九"

for c in "0123456789":

n = n.replace(c,s[eval(c)])

print(n)

15.a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。例如:键盘输入列表b为[1.2.3],因此,屏幕输出计算结果为[1.3.2,6,3,9]

a = [3,6,9]

b = eval(input()) #例如:[1,2,3]

j=1

for i in range(len(a)):

b.insert(j,a[i])

j+=2

print(b)

16.用户按照列表格式输入数据,将用户输入的列表中属于字符串类型的元素连接成一个整字符串, 并打印输出。.示例如下(其中数据仅用于示意):输入:[123, "Python", 98,等级考试];输出:Python等级考试

ls = eval(input())

s = ""

for item in ls:

iftype(item)== type("香山"):

s +=item

print(s)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。