考试大纲如下:
基本要求
考试内容
考试方式
比较希望能直接刷题,因为不懂的比较多可能会看视频。
基础操作刷题:
知乎大头计算机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。特此通知。
...(略)
考前持续更新。。。另外大题在另一个贴
选择题易错