2024-05-16 16:24:20
例如 a = 0, b = 1, S = 1, T = 1.
“若a为A中元素个数,求a最大值”, 此处a 与 上述 a 不是同一概念 ?
S∩T=∅是条件,
0≤x≤2020是x可取的范围
α为元素数量
请用印刷版原题图片提问。
2024-05-16 04:37:03
2024-05-16 13:57:40
2024-05-16 15:23:03
随机选择一个手机品牌屏幕输出:
import random
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
elif x > n:
print("大了,再试试")
else:
print("小了,再试试")
if m == 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
import jieba
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 in range(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('red')
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 = ['red','orange','blue','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 = ['red','green','blue']
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 in range(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 and type(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
if n%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:
if type(item) == type("香山"):
s += item
print(s)