考试大纲如下:
基本要求
考试内容
考试方式
比较希望能直接刷题,因为不懂的比较多可能会看视频。
基础操作刷题:
知乎大头计算机1-13题
import jieba
txt=input()
ls=jieba.lcut(txt)
print("{:.1f}".format(len(txt)/len(ls)))
据说没有jieba库,然后lcut是给句子分词的意思,len是统计长度
n=eval(input())
print("{:+^11}".format(chr(n-1)+chr(n)+chr(n+1)))
eval转数字
-
"{:+^11}".format(...)
: 这是字符串格式化的部分。+
: 表示在填充的空白字符前添加正负号^
: 表示居中对齐。11
: 表示整个字段的宽度为11个字符。.format(...)
: 用于插入之前提到的字符组合。
n=eval(input())
print("{:->20,}".format(n))
{:->20,}
: 这是一个格式化字符串,其中::
开始格式化指令。-
表示使用空格填充左侧。>
表示右对齐。20
表示整个字段的宽度为20个字符。,
表示在数字后面添加千位分隔符(例如,1000
变为1,000
)。
.format(n)
: 这将n
的值插入到格式化字符串中。
import jieba
txt=input()
ls=jieba.lcut(txt)
for i in ls[::-1]:print(i,end="")
import jieba
: 导入jieba
库,这是一个用于中文分词的Python库。txt=input()
: 从用户那里获取输入,并将其存储在变量txt
中。ls=jieba.lcut(txt)
: 使用jieba
库的lcut
方法对txt
进行分词,并将分词后的结果存储为列表ls
。for i in ls[::-1]:
: 这是一个逆序遍历ls
列表的循环。ls[::-1]
是一个切片操作,它会返回ls
列表的逆序。print(i,end="")
: 在循环内部,打印每个分词后的词,并且设置end=""
意味着打印时不换行。默认情况下,print
函数在每次打印后会添加一个换行符,但这里通过设置end=""
,使得所有分词后的词都会打印在同一行。
import random
brandlist = ['华为','22','222','11','22']
random.seed(0)
name = random.sample(brandlist,1)
print(name)
-
random.seed(0)
: 设置随机数生成器的种子为0。设置种子是为了确保每次运行代码时生成的随机数序列都是相同的。如果不设置种子,那么每次运行代码时,生成的随机数都会不同。在这里,种子设置为0是为了可复现性。 -
name = random.sample(brandlist, 1)
: 使用random.sample
函数从brandlist
列表中随机选择一个元素。因为random.sample
返回的是一个列表,即使你只选择了一个元素,它也会以列表的形式返回。所以name
是一个包含一个元素的列表。 -
print(name)
: 打印变量name
。由于name
是一个列表,它会以列表的形式打印出来,比如['华为']
。
6
import jieba s=input() n=len(s) m=len(jieba.lcut(s)) print("中文字符数为{},中文词语数为{}。".format(n,m))
x=input() nls=x.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("{:.2f}".format(r))
使用
split
方法将ntxt
字符串按照空格分割成一个列表nls
。如果ntxt
是 "1 2 3 4",那么nls
就会是['1', '2', '3', '4']
。1.split使用是a=b.split()
8
l=input()
print("{:=^20}".format(l))注意:format的使用方法,格式{:内容}是对特定值的格式限定
n=eval(input()) if n==1:n*=160 elif n<=4:n*=160*0.9 elif n<=9:n*=160*0.8 else:n*=160*0.7 print("{:.0f}".format(n))
要让变量能计算要用eval函数转换一下
# 初始化斐波那契数列的前两个数字 a = [0, 1] # 循环计算斐波那契数列的下一个数字,直到我们有100个数字 for i in range(2, 100): a.append(a[i-1] + a[i-2]) # 将新的斐波那契数字添加到列表中 # 打印斐波那契数列,每个数字后面跟一个逗号(除了最后一个数字) for i in range(100): print(a[i], end='') if i != 99: # 如果不是最后一个数字,打印逗号 print(",", end='')
1.在python中定义列表和给列表中赋值的方法
2.对于print如何不换行
3.对于range可以只写一个100,就是从0-99
a=[3,6,9] b=eval(input()) t=0 for i in range(3):t+=a[i]*b[i] print(t)
对于列表,输入一个【1,2,3】,于是eval把他转成了列表B,如果要算三行,应该range3
12
import random random.seed(123) for i in range(10):print(random.randint(1,99),end=",")
随机数的库random,随机数种子seed可以固定生成,然后randint限制范围,最后每个数带都逗号用双引号
13
n=input()
print("{:*>15}".format(n))先:再符号,再居中^靠右>靠左<,再花括号,再双引号,再逗号,再format,再变量名称
题库刷题(基础操作-专项训练)
第1、2,3、4套,在大头那边都有,是一样的题目,比较老的题了,不过没太记住。把答案粘在前面了。
第5套
1.
a和b是两个长度相同的列表变量,列表a为[3,6,9]已给定,键盘输入列表b,计算a中元素与b中对应元素的和形成新的列表c,在屏幕上输出。
例如:键盘输入列表b为[1,2,3],屏幕输出计算结果为[4,8,12]
2.
以0为随机数种子,随机生成5个在1(含)到97(含)之间的随机数,计算这五个随机数的平方和。
第6套
1.
a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。
例如:键盘输入列表b为[1,2,3],因此,屏幕输出计算结果为[1,3,2,6,3,9]、
2.
以100为随机数种子,随机生成3个在1(含)到9(含)之间的随机整数,计算这三个随机整数的立方和
第7套
1键盘输入正整数s,按要求把s输出到屏幕,格式要求:宽度为25个字符,等号字符(=)填充,右对齐,带千位分隔符。如果输入正整数超过25位,则按照真实长度输出。
2
获得用户输入的一个字符串,将字符串逆序输出,同时紧接着输出字符串的个数,
3
获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为差,c为数值的数量,产生一个递增的等差数列,将这个数列以列表格式输出
第8套
获得用户输入的一个数字,对该数字以30字符宽度,十六进制,居中输出,字母小写,多余字符采用双引号(")填充
获得用户输入的一个数字,其中数字字符(0到9)用对应的中文字符“〇—二三四五六七八九”替换,输出替换后的结果
获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为前后相邻数的比值,c为数列长度,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后一个元素输出后无逗号
第9套
程序接收用户输入的五个数,以逗号分隔。将这些数字按照输入顺序输出,每个数字占10个字符宽度,右对齐,所有数字显示在同一行。
社会平均工作时间是每天8小时(不区分工作日和休息日),一位计算机科学家接受记者采访时说,他每天工作时间比社会平均工作时间多3小时。如果这位科学家的当下成就值是1,假设每工作1个小时成就值增加0.01%,计算并输出两个结果:这位科学家5年后的成就值,以及达到成就值100所需要的年数。其中,成就值和年数都以整数表示,每年以365天计算。
程序接收用户输入的一个数字并判断是否为正整数,如果不是正整数,则显示“请输入正整数”并等待用户重新输入,直至输入正整数为止,并显示输出该正整数。
第10套
接收用户输入的一个小于20的正整数,在屏幕上逐行递增显示从01到该正整数,数字显示的宽度为2,不足位置补0,后面追加一个空格,然后显示'>'号,'>'号的个数等于行首数字
让用户输入一串数字和字母混合的数据,然后统计其中数字和字母的个数,显示在屏幕上
将程序里定义好的std列表里的姓名和成绩与已经定义好的模板拼成一段话,显示在屏幕上。例如:
亲爱的张三,你的考试成绩是英语90,数学87,Python语言95,总成绩272。特此通知。
...(略)
11
接收用户输入的一个大于10小于10的8次方十进制正整数,输出这个正整数各字符的和,以25为宽度,居中显示,采用等号=填充。
例如:键盘输入1357,屏幕输出===========16============
接收用户输入的数据,该数据仅由字母和中文混合构成,无其他类型字符,统计并输出中文字符出现的个数。
例如输入wor1d世界peace和平,输出4
接收用户输入的以英文逗号分隔的一组数据,其中,每个数据都是整数或浮点数,打印输出这组数据中的最大值。
例如输入1,3,5,7,9,7,5,3,1
输出9
接收用户输入的一个浮点数,输出这个浮点数的小数部分各字符的和,以10为宽度,靠右显示,采用星号*填充。
time库是Python语言中与时间处理相关的标准库,time库 中ctime()函数能够将一个表示时间的浮点数变成人类 可以理解的时间格式。
例如输入
import time
print(time. ctime (1519181231))
输出结果是: Wed Feb 21 10:47:11 2018
获取用户输入的时间,提取并输出时间中“小时”的信息。例如输入1519181231,应输出10。
以26个小写字母和0~9数字为基础,以用户输入的数字为种子,随机生成10个8位密码,并将每个密码在单独一行打印输出。
# 请在______处使用一行代码或表达式替换 # # 注意:请不要修改其他已给出代码import randoms = input("请输入随机种子: ") ls = [] for i in range(26): #向ls中添加26个字母ls.append(chr(ord('a')+i)) for i in range(10): #向ls中添加10个数字ls.append(chr(ord('0')+i))random.seed(eval(s)) for i in range(10):for j in range(8):print(random.choice(ls),end='') #从ls序列中随机选择一个元素print()
13套(easy)
用户按照列表格式输入数据,将用户输入的列表中属于字符串类型的元素连接成一个整字符串,并打印输出。
输入
[123,"Python",98, "等级考试"]
输出
Python 等级考试
以 25 为种子,随机生成 1 个 1~100 之间的整数,让用户来猜,用户最多只能猜 6 次。接收用户输入的数字,输入的数字和随机数相同时,则打印“恭喜你,猜对了! ",然后程序结束。若输入的数比随机数小,则打印小了,请再试试”,程序继续;若输入的数比随机数大,则打印大了,请再试试",程序继续;若 6 次还没猜对,在评判大小后,输出“谢谢!请休息后再猜”,然后程序退出。
让用户输入一个自然数 n。
如果 n 为奇数,输出表达式 1+1/3+1/5+...+1/n 的值。
如果 n 为偶数,输出表达式 1/2+1/4+1/6+...+1/n 的值。
输出结果保留两位小数。
输入
4
输出
0.75
14套
获得用户输入的一个整数n,输出一个n-1行的数字三角形阵列。该阵列每行包含的整数序列为从该行序号开始到n-1,例如第1行包含1到n-1的整数,第i行包含从i到n-1的整数;数字之间用英文空格分隔。
示例如下(其中数据仅用于示意):
输入
8
输出
1 2 3 4 5 6 7
2 3 4 5 6 7
3 4 5 6 7
4 5 6 7
5 6 7
6 7
7
(不会写)获得用户输入的5个小写英文字母,将小写字母变成大写字母,并逆序输出,字母之间用逗号分隔。
示例如下(其中数据仅用于示意):
输入:
gbcde
输出:
E,D,C,B,G
获得用户输入的一个整数,记为n,以100为随机数种子,随机生成10个1到n之间的随机数,输出生成的随机数,数字之间以逗号分隔。
示例如下(其中数据仅用于示意):
输入
900
输出
150,471,466,790,777,723,403,750,359,444
15套(easy)
让用户输入一个符号作为填充字符,将PYTHON字符串以30字符宽、居中、其余部分以填充字符的形式格式化输出。
a = input("请输入填充符号:") s = "PYTHON" print("{0:{1:}^30}".format(s,a))
获取一个由英文逗号、字母、汉字、数字字符组成的输入,计算该输入中所有数字的和,并输出。
示例如下:
输入:
1,海淀区,ab,56,3,中关村
输出:
数字和是:60
myinput = input("请输入:") ls = myinput.split(',') s = 0 for c in ls:if c.strip(" ").isdigit():s+=eval(c) print("数字和是:" + str(s))
data1.txt文件保存了一组汉字,输出该文件不同字符的数量
# # 请完善代码 #f = open('data1.txt') ls = [] for line in f:for c in line:if c not in ls:ls.append(c) f.close() print(len(ls))
16套
获得用户输入的浮点数,以10字符宽度、靠右输出这个浮点数,小数点后保留2位数。
示例如下(其中数据仅用于示意):
请输入一个浮点数:2.4
浮点数是: 2.40
请输入一个浮点数:5.98320
浮点数是: 5.98
f = eval(input("请输入一个浮点数:")) print("浮点数是:{0:>10.2f}".format(f))
按照小写字母a到z顺序组成包含26个学母的字符表,其中,第一个字符a序号为0,依次递增。程序获得用户输入的起始字母序号及连续输出字母的个数,分别记为变量h和w,以逗号隔开,并根据字符表输出从起始字母序号h开始的连续w个字母。
示例如下(其中数据仅用于示意):
输入:
0,3
输出:
abc
获得用户输入的三个整数,以逗号分隔,分别记为: n、m、k,其中m>k。以1为随机数种子,产生n个在k和m之间的随机整数(包括k和m),将这些随机数输出,每个数一行。
示例如下(其中数据仅用于示意):
输入:
4,26,10
输出:
14
12
18
13
考前持续更新。。。另外大题在另一个贴
选择题易错