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

...(略)

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

选择题易错

相关推荐
撞南墙者4 分钟前
OpenCV自学系列(1)——简介和GUI特征操作
人工智能·opencv·计算机视觉
OCR_wintone4215 分钟前
易泊车牌识别相机,助力智慧工地建设
人工智能·数码相机·ocr
binishuaio7 分钟前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
zz.YE9 分钟前
【Java SE】StringBuffer
java·开发语言
就是有点傻13 分钟前
WPF中的依赖属性
开发语言·wpf
洋24021 分钟前
C语言常用标准库函数
c语言·开发语言
进击的六角龙23 分钟前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
wrx繁星点点24 分钟前
状态模式(State Pattern)详解
java·开发语言·ui·设计模式·状态模式
王哈哈^_^26 分钟前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
一者仁心33 分钟前
【AI技术】PaddleSpeech
人工智能