Python二级备考(1)考纲+基础操作

考试大纲如下:

基本要求

考试内容

考试方式

比较希望能直接刷题,因为不懂的比较多可能会看视频。

基础操作刷题:

知乎大头计算机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转数字

  1. "{:+^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="")

  1. import jieba: 导入jieba库,这是一个用于中文分词的Python库。
  2. txt=input(): 从用户那里获取输入,并将其存储在变量txt中。
  3. ls=jieba.lcut(txt): 使用jieba库的lcut方法对txt进行分词,并将分词后的结果存储为列表ls
  4. for i in ls[::-1]:: 这是一个逆序遍历ls列表的循环。ls[::-1]是一个切片操作,它会返回ls列表的逆序。
  5. print(i,end=""): 在循环内部,打印每个分词后的词,并且设置end=""意味着打印时不换行。默认情况下,print函数在每次打印后会添加一个换行符,但这里通过设置end="",使得所有分词后的词都会打印在同一行。
import random
brandlist = ['华为','22','222','11','22']
random.seed(0)
name = random.sample(brandlist,1)
print(name)
  1. random.seed(0): 设置随机数生成器的种子为0。设置种子是为了确保每次运行代码时生成的随机数序列都是相同的。如果不设置种子,那么每次运行代码时,生成的随机数都会不同。在这里,种子设置为0是为了可复现性。

  2. name = random.sample(brandlist, 1): 使用random.sample函数从brandlist列表中随机选择一个元素。因为random.sample返回的是一个列表,即使你只选择了一个元素,它也会以列表的形式返回。所以name是一个包含一个元素的列表。

  3. 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套

a和b是两个长度相同的列表变量,列表a为[3,6,9]已给定,键盘输入列表b,计算a中元素与b中对应元素的和形成新的列表c,在屏幕上输出。

例如:键盘输入列表b为[1,2,3],屏幕输出计算结果为[4,8,12]

以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]、

以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。特此通知。

...(略)

考前持续更新。。。另外大题在另一个贴

选择题易错

相关推荐
肥猪猪爸8 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
色空大师11 分钟前
23种设计模式
java·开发语言·设计模式
Bruce小鬼23 分钟前
QT文件基本操作
开发语言·qt
2202_7544215429 分钟前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言
我只会发热36 分钟前
Java SE 与 Java EE:基础与进阶的探索之旅
java·开发语言·java-ee
LZXCyrus37 分钟前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
Enougme40 分钟前
Appium常用的使用方法(一)
python·appium
懷淰メ1 小时前
PyQt飞机大战游戏(附下载地址)
开发语言·python·qt·游戏·pyqt·游戏开发·pyqt5
我感觉。1 小时前
【机器学习chp4】特征工程
人工智能·机器学习·主成分分析·特征工程
hummhumm1 小时前
第 22 章 - Go语言 测试与基准测试
java·大数据·开发语言·前端·python·golang·log4j