当前位置: 首页 > news >正文

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套

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

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

选择题易错

相关文章:

  • 力扣爆刷第102天之hot100五连刷96-100
  • 【leetcode】67.二进制求和
  • 2733: 【搜索】【广度优先】 马遍历棋盘
  • 一分钟了解JAVA语言
  • RuoYi-Vue开源项目2-前端登录验证码生成过程分析
  • C++提高笔记(五)---STL容器(set/multiset、map/multimap)
  • flutter 局部view更新,dialog更新进度,dialog更新
  • 【热门话题】深入浅出:npm常用命令详解与实践
  • Redis监控工具
  • mac安装rust开发环境,使用brew安装和全局配置
  • 【GPT-SOVITS-03】SOVITS 模块-生成模型解析
  • 【NTN 卫星通信】 TN和多NTN配合的应用场景
  • shardingsphere-elastic-job-ui 管理界面安装
  • 数据分析-Pandas数据分类的转换控制
  • 速盾cdn:cdn节点缓存内容不一致怎么办?
  • 分享一款快速APP功能测试工具
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Angular 2 DI - IoC DI - 1
  • CSS 提示工具(Tooltip)
  • HashMap ConcurrentHashMap
  • HTML-表单
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • JDK 6和JDK 7中的substring()方法
  • laravel with 查询列表限制条数
  • php ci框架整合银盛支付
  • Python打包系统简单入门
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Spark RDD学习: aggregate函数
  • Spring声明式事务管理之一:五大属性分析
  • Vue 动态创建 component
  • windows下使用nginx调试简介
  • 初探 Vue 生命周期和钩子函数
  • 如何解决微信端直接跳WAP端
  • 深入浅出Node.js
  • 异常机制详解
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​ArcGIS Pro 如何批量删除字段
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #QT(智能家居界面-界面切换)
  • #前后端分离# 头条发布系统
  • ${ }的特别功能
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (多级缓存)多级缓存
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • **python多态
  • .net Signalr 使用笔记
  • .NET Standard 的管理策略
  • .net Stream篇(六)
  • .Net Web窗口页属性
  • .net 设置默认首页
  • .net 微服务 服务保护 自动重试 Polly