S{x|x=a+b且a,b∈A},T{x|x=|a-b|且a,b∈A},集合A{x|0≤x≤2020},S∩T=∅? S={x|x=alog2+blog5,a,b∈Z} T={x...
\u8bbe\u96c6\u5408A\u662fN*\u7684\u67d0\u4e2a\u6709\u9650\u5b50\u96c6\uff0c\u96c6\u5408S={\uff08a\uff0cb\uff09|a\u2208A\uff0cb\u2208A\uff0ca+b\u2208A}\uff0c\u96c6\u5408T={\uff08a\uff0cb\uff09|a\u2208A\uff0cb\u2208A\uff0ca-b\u2208A\u5f53a\u2208N*\uff0cb\u2208N*\uff0c\u5219a+b\u2208N*\uff0c\u5bf9\u4e8ea-b\uff1a\u5f53a=1\uff0cb=1\u65f6\uff0c\uff080\uff0c0\uff09?T\uff1b\u5f53a=0\uff0cb=1\u65f6\uff0c\uff080\uff0c-1\uff09?T\uff1b\u5f53a\u2264b\u65f6\uff0c\uff08a\uff0cb\uff09?T\uff0c\u2234|S|\uff1e|T|\uff0c\u6545\u9009\uff1aA\uff0e
x2=c+dlog(2/5)=c+dlog2-dlog5
x1=alog2+blog5=(a-d)log2+(b-d)log5+dlog2-dlog5
\u56e0\u6b64\u53ea\u9700\u6bd4\u8f83(a-d)log2+(b-d)log5\u4e0eclog2+clog5=c\u7684\u5173\u7cfb\u5373\u53ef\uff0c\u663e\u7136\u4e8c\u8005\u76f8\u7b49\u5173\u7cfb
S 与 T 的交集不会是空集。S∩T
例如 a = 0, b = 1, S = 1, T = 1.
“若a为A中元素个数,求a最大值”, 此处a 与 上述 a 不是同一概念 ?
S∩T=∅
a+b≠|a-b|
得a≠0,b≠0,a≠b,
即从2020个元素取2个,最多有C(2,2020)
题目条件明显不完整。A集合若无自然数或正整数限制,则a->∞。
随机选择一个手机品牌屏幕输出:
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)
绛旓細3)浜ら泦:A鈭B={鈭圓涓攛鈭圔} 4)骞堕泦:A鈭狟={鈭圓鎴杧鈭圔} 5)琛ラ泦:CUA={A浣唜鈭圲} 娉ㄦ剰:鈶?A,鑻鈮?,鍒?A; 鈶¤嫢,,鍒; 鈶㈣嫢涓,鍒橝=B(绛夐泦) 3.寮勬竻闆嗗悎涓庡厓绱犮侀泦鍚堜笌闆嗗悎鐨勫叧绯,鎺屾彙鏈夊叧鐨勬湳璇拰绗﹀彿,鐗瑰埆瑕佹敞鎰忎互涓嬬殑绗﹀彿:(1)涓庛?鐨勫尯鍒;(2)涓庣殑鍖哄埆;(3)涓庣殑鍖哄埆銆 4.鏈夊叧瀛愰泦鐨...
绛旓細2,瀹氫箟鐨勮瀹:閫氬父鎯呭喌涓,灞炰簬闆嗗悎鐨勬墍鏈夊厓绱犵粍鎴愮殑闆嗗悎A,鎴栧睘浜嶣缁,A,B鐨勮缃傝〃绀轰负:A鈭狟(璇讳綔鈥淎鍜孊鈥),鍗,A鈭狟 = {X | X鈭圓,鎴杧鈭圔}銆 3鐨勪氦闆嗗拰骞堕泦鐨勬ц川:A鈭〢 = A,A鈭┫=蠁,A鈭〣 = B鈭〢,A鈭狝 = A, /> A鈭= A,A鈭狟 = B鈭狝. (1)琛ュ叏闆嗚ˉ:璁維鏄竴缁,A,S鐨...
绛旓細鍒嗛閲嶇櫥涓娆″惂銆備竴棰樹竴甯栥傛病鍒嗛兘琛屻傚嚑鍒嗛挓灏变細鏈夋潵浜哄仛銆傞鏀惧湪涓璧枫備汉浠氨鎳掑緱鍋氥傘傘
绛旓細鈭礎={a,b},B={x|x鈭圓},B涓殑鍏冪礌閮芥槸A鐨勫厓绱 A鐨勫厓绱犱篃閮芥槸B鐨勫厓绱 鈭碅=B 鈭碆={a,b}
绛旓細鐢辨墍鏈夊睘浜庨泦鍚圓鎴栧睘浜庨泦鍚圔鐨勫厓绱犳墍缁勬垚鐨勯泦鍚,鍙仛A,B鐨勫苟闆.璁颁綔:A B(璇讳綔鈥楢骞禕鈥),鍗矨 B ={x|x A,鎴杧 B}).璁S鏄竴涓泦鍚,A鏄疭鐨勪竴涓瓙闆,鐢盨涓墍鏈変笉灞炰簬A鐨勫厓绱犵粍鎴愮殑闆嗗悎,鍙仛S涓瓙闆咥鐨勮ˉ闆(鎴栦綑闆)璁颁綔,鍗矯SA= 闊︽仼鍥
绛旓細鐪熷寘鍚殑瀹氫箟鏄A涓嚦灏戞湁涓涓厓绱犱笉灞炰簬B锛屼絾鏄A=B锛灏变笉瀛樺湪鑷冲皯涓涓厓绱犱笉灞炰簬B浜嗐
绛旓細鏄滄垨鈥濅緥A锛0锛1锛锛孊锛2锛3锛堿骞B={x|x鈭圓锛鎴杧鈭圔}锛岃繖鏃朵笉鑳借鈥滀笖鈥濅簡 A骞禕锛岀浉瀵逛簬x鏉ヨ瀹冪殑鍙栧艰寖鍥存墿澶т簡锛屼絾涓嶈兘璇存垚鈥滀笖鈥
绛旓細鐢遍鎰 B鐨勫厓绱犲睘浜嶢 涓擝涓嶄负绌 閭d箞B灏辨槸A鐨勭湡瀛愰泦 鎵浠B={0}鎴杮1}鎴杮0,1}
绛旓細鐪嬫潵浣犲B涓殑鍏冪礌娌℃湁鎼炴竻妤B={x涓▁鍖呭惈浜嶢}璇存槑B涓殑鍏冪礌x涓篈鐨勫瓙闆,褰撶劧鍚湁A,鍗矨涓洪泦鍚圔鐨勪竴涓厓绱,鎵浠ョ敤A鈭圔鏉ヨ〃绀.涓涓泦鍚堜篃鍙互涓哄彟涓涓泦鍚堢殑鍏冪礌.
绛旓細瑙f瀽 x灞炰簬A涓攛涓嶅睘浜嶣鐨勫厓绱犳湁{3 4 6 8} 鎵浠-B={3 4 68} 甯屾湜瀵逛綘鏈夊府鍔 瀛︿範杩涙O(鈭鈭)O璋㈣阿