当前位置:   article > 正文

Python二级备考(1)考纲+基础操作_获得用户输入的以逗号分隔的3个正整数,记为a、b、c,以a为起始数值,b为步长,c为数

获得用户输入的以逗号分隔的3个正整数,记为a、b、c,以a为起始数值,b为步长,c为数

考试大纲如下:

基本要求 

考试内容 

考试方式 

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

基础操作刷题:

知乎大头计算机1-13题

  1. import jieba
  2. txt=input()
  3. ls=jieba.lcut(txt)
  4. print("{:.1f}".format(len(txt)/len(ls)))

据说没有jieba库,然后lcut是给句子分词的意思,len是统计长度

  1. n=eval(input())
  2. print("{:+^11}".format(chr(n-1)+chr(n)+chr(n+1)))

 

eval转数字

  1. "{:+^11}".format(...): 这是字符串格式化的部分。

    • +: 表示在填充的空白字符前添加正负号
    • ^: 表示居中对齐。
    • 11: 表示整个字段的宽度为11个字符。
    • .format(...): 用于插入之前提到的字符组合。

  1. n=eval(input())
  2. print("{:->20,}".format(n))
  • {:->20,}: 这是一个格式化字符串,其中:
    • : 开始格式化指令。
    • - 表示使用空格填充左侧。
    • > 表示右对齐。
    • 20 表示整个字段的宽度为20个字符。
    • , 表示在数字后面添加千位分隔符(例如,1000变为1,000)。
  • .format(n): 这将n的值插入到格式化字符串中。
  1. import jieba
  2. txt=input()
  3. ls=jieba.lcut(txt)
  4. for i in ls[::-1]:
  5. 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="",使得所有分词后的词都会打印在同一行。

  1. import random
  2. brandlist = ['华为','22','222','11','22']
  3. random.seed(0)
  4. name = random.sample(brandlist,1)
  5. 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

  1. import jieba
  2. s=input()
  3. n=len(s)
  4. m=len(jieba.lcut(s))
  5. print("中文字符数为{},中文词语数为{}。".format(n,m))

  1. x=input()
  2. nls=x.split()
  3. x0=eval(nls[0])
  4. y0=eval(nls[1])
  5. x1=eval(nls[2])
  6. y1=eval(nls[3])
  7. r=pow(pow(x1-x0,2)+pow(y1-y0,2),0.5)
  8. 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的使用方法,格式{:内容}是对特定值的格式限定

  1. n=eval(input())
  2. if n==1:
  3. n*=160
  4. elif n<=4:
  5. n*=160*0.9
  6. elif n<=9:
  7. n*=160*0.8
  8. else:
  9. n*=160*0.7
  10. print("{:.0f}".format(n))

要让变量能计算要用eval函数转换一下

  1. # 初始化斐波那契数列的前两个数字
  2. a = [0, 1]
  3. # 循环计算斐波那契数列的下一个数字,直到我们有100个数字
  4. for i in range(2, 100):
  5. a.append(a[i-1] + a[i-2]) # 将新的斐波那契数字添加到列表中
  6. # 打印斐波那契数列,每个数字后面跟一个逗号(除了最后一个数字)
  7. for i in range(100):
  8. print(a[i], end='')
  9. if i != 99: # 如果不是最后一个数字,打印逗号
  10. print(",", end='')

 1.在python中定义列表和给列表中赋值的方法

2.对于print如何不换行

3.对于range可以只写一个100,就是从0-99

  1. a=[3,6,9]
  2. b=eval(input())
  3. t=0
  4. for i in range(3):
  5. t+=a[i]*b[i]
  6. print(t)

对于列表,输入一个【1,2,3】,于是eval把他转成了列表B,如果要算三行,应该range3

 12

  1. import random
  2. random.seed(123)
  3. for i in range(10):
  4. 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============

(!!一定要记住中文的判断方式!'\u4e00'<=c<='\u9fff'!!)接收用户输入的数据,该数据仅由字母和中文混合构成,无其他类型字符,统计并输出中文字符出现的个数。

例如输入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位密码,并将每个密码在单独一行打印输出。

  1. # 请在______处使用一行代码或表达式替换
  2. #
  3. # 注意:请不要修改其他已给出代码
  4. import random
  5. s = input("请输入随机种子: ")
  6. ls = []
  7. for i in range(26): #向ls中添加26个字母
  8. ls.append(chr(ord('a')+i))
  9. for i in range(10): #向ls中添加10个数字
  10. ls.append(chr(ord('0')+i))
  11. random.seed(eval(s))
  12. for i in range(10):
  13. for j in range(8):
  14. print(random.choice(ls),end='') #从ls序列中随机选择一个元素
  15. print()

13套(easy)(都做对了,第三题有点卡住,一开始是定义s=0,输出是f(n))

用户按照列表格式输入数据,将用户输入的列表中属于字符串类型的元素连接成一个整字符串,并打印输出。

输入

[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字符宽、居中、其余部分以填充字符的形式格式化输出。

  1. a = input("请输入填充符号:")
  2. s = "PYTHON"
  3. print("{0:{1:}^30}".format(s,a))

获取一个由英文逗号、字母、汉字、数字字符组成的输入,计算该输入中所有数字的和,并输出。

示例如下:

输入:

1,海淀区,ab,56,3,中关村

输出:

数字和是:60

  1. myinput = input("请输入:")
  2. ls = myinput.split(',')
  3. s = 0
  4. for c in ls:
  5. if c.strip(" ").isdigit():
  6. s+=eval(c)
  7. print("数字和是:" + str(s))

data1.txt文件保存了一组汉字,输出该文件不同字符的数量

  1. #
  2. # 请完善代码
  3. #
  4. f = open('data1.txt')
  5. ls = []
  6. for line in f:
  7. for c in line:
  8. if c not in ls:
  9. ls.append(c)
  10. f.close()
  11. print(len(ls))

16套

(浮点数是写在宽度后面.2f,忘记了)获得用户输入的浮点数,以10字符宽度、靠右输出这个浮点数,小数点后保留2位数。

示例如下(其中数据仅用于示意):

请输入一个浮点数:2.4

浮点数是:    2.40

请输入一个浮点数:5.98320

浮点数是:    5.98

  1. f = eval(input("请输入一个浮点数:"))
  2. print("浮点数是:{0:>10.2f}".format(f))

(忘记怎么写chr了,还有循环只写一个w)按照小写字母a到z顺序组成包含26个学母的字符表,其中,第一个字符a序号为0,依次递增。程序获得用户输入的起始字母序号及连续输出字母的个数,分别记为变量h和w,以逗号隔开,并根据字符表输出从起始字母序号h开始的连续w个字母。

示例如下(其中数据仅用于示意):

输入:

0,3

输出:

abc

(把mk写反了,然后数字反着就错了)获得用户输入的三个整数,以逗号分隔,分别记为: n、m、k,其中m>k。以1为随机数种子,产生n个在k和m之间的随机整数(包括k和m),将这些随机数输出,每个数一行。

示例如下(其中数据仅用于示意):

输入:

4,26,10

输出:

14

12

18

13

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

选择题易错

3.23 

 

 顺序程序不具有并发性

ctime返回字符串

join只能拼字符串

字典无法表示一维数据

perf_counter函数计时

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/695005
推荐阅读
相关标签
  

闽ICP备14008679号