python二级·基本操作题

“:->20,” 这个颜色为填空选项

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

n = eval(input("请输入正整数:"))

print("{:->20,}".format(n))

------------------------------------------------------------------------------------------------

format方法通过{ }占位符来指示需要插入值的位置。

:.2f 表示显示为带有两位小数的浮点数。

{:,} 表示显示为千位分隔符形式的整数。

举例:冒号 : 用来指定填充选项。< 表示左对齐,> 表示右对齐,^ 表示居中对齐。数字 10 表示总的字符串长度,f 表示浮点数格式化,$ 表示在浮点数前添加美元符号,自定义填充字符使用 *

不了解看代码👇

name = "Alice"
print("Name: {:<10}".format(name))
# 输出:Name: Alice     

age = 25
print("Age: {:>10}".format(age))
# 输出:Age:         25    
 
city = "New York"
print("City: {:^10}".format(city))
# 输出:City: New York  

price = 19.99
print("Price: {:$>10.2f}".format(price))
# 输出:Price: $     19.99 

quantity = 3
print("Quantity: {:*^10}".format(quantity))
# 输出:Quantity: ***3**** 

# 请在...处使用一行或多行代码替换

# 请在______处使用一行代码替换

#

# 注意:请不要修改其他已给出代码

import random

brandlist = ['华为','苹果','诺基亚','OPPO','小米']

random.seed(0)

i=random.randint(0,4)

name=brandlist[i]

print(name)

------------------------------------------------------------------------------------------------

random.random():返回一个0到1之间的随机浮点数

random.seed(0) 设置随机数生成器的种子,都会以相同的初始状态开始生成随机数。

random.randint(a, b)random 模块中的一个函数,用于生成一个在指定范围内的随机整数,包括两个边界值 ab

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

ntxt = input("请输入4个数字(空格分隔):")

nls=ntxt.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() 是字符串对象的方法,用于按照指定的分隔符将字符串分割成多个子字符串,并返回一个包含这些子字符串的列表。

string.split(separator, maxsplit)

  • separator:可选参数,指定分隔符,默认为 None。如果未指定分隔符,则默认使用空格作为分隔符。
  • maxsplit:可选参数,指定最大分割次数。如果未指定,则默认为 -1,即分割所有出现的分隔符。 返回值:一个包含分割后子字符串的列表。 下面是一些示例:
text = "Hello, world! This is a sentence."
# 使用默认的空格作为分隔符

words = text.split()
print(words)
# 输出: ['Hello,', 'world!', 'This', 'is', 'a', 'sentence.']

# 使用逗号作为分隔符
parts = text.split(",")
print(parts)
# 输出: ['Hello', ' world! This is a sentence.']

# 指定最大分割次数为2
fragments = text.split(" ", 2)
print(fragments)
# 输出: ['Hello,', 'world!', 'This is a sentence.']

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

s = input("请输入一个字符串:")

print("{:=^20}".format(s))

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

n = eval(input("请输入正整数:"))

print("{:*>15}".format(n))

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

n = eval(input("请输入正整数:"))

print("{:=^14}".format(n))

#请完善如下代码

s = input()

print("{:=>25,}".format(eval(s)))

------------------------------------------------------------------------------------------------

{:,} 表示显示为千位分隔符形式的整数。

#请完善如下代码,不得修改其他代码

#PY101.py

s = input()

print("{:\"^30x}".format(eval(s)))

------------------------------------------------------------------------------------------------

"{:^30x}" 进行格式化:"^" 表示居中对齐,30 表示总宽度为30个字符,"x" 表示将结果格式化为十六进制数。

\ 作用是转义,以确保它们被解释为普通字符。

eval(s) 返回的结果会替换模板中的占位符。

#

# 在____________上补充代码

#

num = input().split(',')

for i in num:

    print("{:>10}".format(i),end="")

------------------------------------------------------------------------------------------------

end="" 表示打印后不换行,将多个结果打印在同一行。

#

# 在____________上补充代码

#

n = input('请输入一个正整数:')

for i in range(int(n)):

    print('{:0>2}{}'.format(i+1,">"*(i+1) ))

------------------------------------------------------------------------------------------------

for i in range(int(n))::使用 range() 函数生成一个从 0 到 int(n) - 1 的整数序列,并对序列中的每个元素进行循环迭代。这里使用 int(n) 将用户输入的字符串转换为整数。{:0>2}表示将 i+1 格式化为一个占位宽度为 2 的字符串,并在左侧填充 0,例如 01、02 等。

">"*(i+1) 表示将 ">" 符号重复 (i+1) 次。

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

a = [3,6,9]

b =  eval(input()) #例如:[1,2,3]

s=0

for i in range(3):

    s += a[i]*b[i]

    print(s)

------------------------------------------------------------------------------------------------

a和b相乘:3*1+6*2+9*3=42

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

import jieba

s = input("请输入一个字符串")

n = len(s)

m = len(jieba.lcut(s))

print("中文字符数为{},中文词语数为{}。".format(n, m))

------------------------------------------------------------------------------------------------

import jieba:导入结巴分词库,用于对中文字符串进行分词处理。

len(): 函数获取字符串 s 的长度,并将结果赋值给变量 n,表示中文字符数。

m = len(jieba.lcut(s)):使用 jieba.lcut() 函数对字符串 s 进行分词处理,并使用 len() 函数获取分词后的列表的长度,并将结果赋值给变量 m,表示中文词语数。

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

import jieba

txt = input("请输入一段中文文本:")

ls=jieba.lcut(txt)

print("{:.1f}".format(len(txt)/len(ls)))

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

a, b = 0, 1

while a<=100:

    print(a, end=',')

    a, b = b,a+b

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

a = [3,6,9]

b =  eval(input()) #例如:[1,2,3]

c = []

for i in range(3):

    c.append(a[i]+b[i])

print(c)

------------------------------------------------------------------------------------------------

c.append(a[i]+b[i]):将列表 a 和列表 b 中对应位置的元素相加,并将结果添加到列表 c 中。

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

a = [3,6,9]

b = eval(input()) #例如:[1,2,3]

j=1

for i in range(len(a)):

    b.insert(j,a[i])

    j+= 2

print(b)

------------------------------------------------------------------------------------------------

for i in range(len(a))::使用 range() 函数生成一个从 0 到 a 列表长度的整数序列,并对序列中的每个元素进行循环迭代。这里循环的目的是逐个将列表 a 中的元素插入到列表 b 中。

b.insert(j, a[i]):在列表 b 的索引位置 j 处插入列表 a 的元素 a[i]

insert() 是列表(list)对象的一个方法,用于在指定索引位置插入一个元素。它的语法格式为:list.insert(index, element),其中 index 是要插入元素的索引位置,element 是要插入的元素。

#请完善如下代码

s = input()

print(s[::-1],end="")

print(len(s))

------------------------------------------------------------------------------------------------

[::-1] 表示从字符串末尾开始,每次递减一个索引,即将字符串逆序输出。

end="" 表示输出结束后不换行。

切片的基本语法如下:

sequence[start:stop:step]
  • start:表示切片的起始位置的索引,默认为序列的开头(索引为0)。
  • stop:表示切片的结束位置的索引(不包括该索引对应的元素)。如果不指定,则默认为序列的末尾(索引为-1)。
  • step:表示切片的步长,即每次取元素的间隔,默认为1。 需要注意的是,切片操作不会改变原始序列,而是返回一个新的切片对象。 下面是一些常用的切片操作示例:
s = "Hello, World!"
print(s[7:])  # 输出 "World!"
print(s[0:5])  # 输出 "Hello"
print(s[::2])  # 输出 "HloWrd"
  • sequence[start:]:从起始位置 start 开始,获取序列的所有元素,直到末尾。
  • sequence[:stop]:从开头开始,获取序列的元素,直到结束位置 stop(不包括该位置对应的元素)。
  • sequence[start:stop]:获取从起始位置 start 到结束位置 stop(不包括该位置对应的元素)之间的子序列。
  • sequence[start:stop:step]:获取从起始位置 start 到结束位置 stop(不包括该位置对应的元素)之间的子序列,步长为 step。 切片操作可以应用于字符串、列表、元组等不可变序列,也可以应用于列表等可变序列。

逆序切片(reverse slicing)是一种切片操作,用于从序列中以相反的顺序获取子序列。逆序切片的语法是 sequence[start:stop:step],其中 step 值为负数。

sequence = "Hello, World!"
print(sequence[::-1])  # 输出 "!dlroW ,olleH"
print(sequence[5::-1])  # 输出 ",olleH"
print(sequence[11:5:-1])  # 输出 "roW ,"

sequence[::-1],得到了字符串的逆序输出。 sequence[5::-1]sequence[11:5:-1],分别获取了从索引位置 5 开始(包括索引位置 5)以及从索引位置 11 到 5(不包括索引位置 5)之间的子序列,并以逆序的方式输出。

#请完善如下代码,不得修改其他代码

#在________处填写一行或多行代码

#PY102.py

n = input()

s = "〇一二三四五六七八九"

for c in "0123456789":

     n=n.replace(c,s[int(c):int(c)+1])

print(n)

------------------------------------------------------------------------------------------------

n=n.replace(c,s[int(c):int(c)+1]):使用 replace() 方法将字符串 n 中的字符 c 替换为字符串 s 中对应的中文数字字符。s[int(c):int(c)+1] 表示根据字符 c 的值从字符串 s 中取出对应范围内的中文数字字符。

replace() 方法会返回一个新的字符串,原始字符串本身并不会发生改变。

string.replace(old, new, count)
  • string:要进行替换操作的字符串。
  • old:需要被替换的子字符串。
  • new:替换后的新字符串。
  • count(可选):指定替换的次数。

#

# 在____________上补充代码

#

scale = 0.0001  # 成就值增量

def calv(base, day):

    val = base * pow((1+scale),day*11)

    return val

print('5年后的成就值是{}'.format(int(calv(1, 5*365))))

      

year = 1

while calv(1, year*365) < 100:

    year += 1

    

print('{}年后成就值是100'.format(year))

------------------------------------------------------------------------------------------------

def calv(base, day):定义一个函数 calv,用来计算成就值。base 表示初始值,day 表示经过的天数。

 pow(x, y)
  • x:底数,表示要进行幂运算的数。
  • y:指数,表示要计算的幂。 pow() 函数返回 xy 次幂的结果。 下面是一些示例:

# 在____________上补充代码

#

ns = input("请输入一串数据:")

dnum,dchr = 0,0  #双变量赋值方式

for i in ns:

    if i.isnumeric(): #如果是数字字符

        dnum += 1

    elif i.isalpha():

        dchr += 1

    else:

        pass  #空语句,为了保持程序结构的完整性,用于占位

print('数字个数:{},字母个数:{}'.format(dnum,dchr))

------------------------------------------------------------------------------------------------

isnumeric()用于判断字符串是否只包含数字字符。

isalpha()用于判断字符串是否只包含字母字符。

两个都是返回一个布尔值,如果字符串中的每个字符都是数字字符,则返回True,否则返回False。

"123".isnumeric()  # True,只包含数字字符
"12.3".isnumeric()  # False,包含小数点
"-123".isnumeric()  # False,包含负号
"一二三".isnumeric()  # True,包含汉字数字

数字字符包括0-9之间的数字,以及一些其他语言中的数字字符,如罗马数字、汉字数字等。但它并不包括小数点、正负号、千位分隔符等。isnumeric()方法只能判断字符串中的每个字符是否都是数字字符,并不适用于判断整个字符串是否表示一个有效的数字。

"ThisIsAlpha".isalpha()  # True,只包含字母字符
"This is not alpha".isalpha()  # False,包含空格和非字母字符
"123".isalpha()  # False,包含数字字符

字母字符包括大小写字母(A-Z,a-z),但不包括数字、标点符号、空格或其他特殊字符。isalpha()方法只能判断字符串中的每个字符是否都是字母字符,并不适用于判断整个字符串是否只包含字母。

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

import random

random.seed(123)

for i in range(10):

    print(random.randint(1,1000), end=",")

# 请在...处使用一行或多行代码替换

#

# 注意:请不要修改其他已给出代码

n = eval(input("请输入数量:"))

if n>0 and n<=1:

    cost=n*160

elif n<=4:

    cost=n*160*0.9

elif n<=9:

    cost=n*160*0.8

else:

    cost=n*160*0.7

cost=int(cost)

print("总额为:",cost)

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

n = eval(input("请输入一个数字:"))

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

------------------------------------------------------------------------------------------------

chr(n-1)表示将n的前一个数字转换为对应的字符。

chr(n)表示将n转换为对应的字符。

chr(n+1)表示将n的后一个数字转换为对应的字符。

主要是把整数表示Unicode编码值,返回对应的字符。在这段代码中,使用chr()函数将数字转换为字符。

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

import jieba

txt = input("请输入一段中文文本:")

ls=jieba.lcut(txt)

for i in ls[::-1]:

    print(i,end='')

------------------------------------------------------------------------------------------------

jieba库主要进行中文分词,其中lcut返回的是一个列表,其中每个元素都是一个分词结果。

#

# 注意:请不要修改其他已给出代码

import random

random.seed(0)

s = 0

for i in range(5):

    n = random.randint(1,97)  # 产生随机数

    s = s+n**2

print(s)

# 请在______处使用一行或多行代码替换

#

# 注意:请不要修改其他已给出代码

import random

random.seed(100)  # 此处可多行

s = 0  #

for i in range(3):

    n=random.randint(1,9)

    s=s+n**3# 此处可多行

print(s)

#请完善如下代码

a, b, c = eval(input())

ls = []

for i in range(c):

    ls.append(a+b*i)

print(ls)

------------------------------------------------------------------------------------------------

每个元素的值按照a+b*i的规律生成,其中i的取值范围是从0到c-1

ls = []:生成一个列表ls

#请完善如下代码,不得修改其他代码

#PY103.py

a, b, c = eval(input())

ls = []

for i in range(c):

    ls.append(str(a*(b**i)))

print(",".join(ls))

------------------------------------------------------------------------------------------------

join() 是字符串的一个方法,它用于将一个可迭代对象中的元素连接成一个字符串,字符串之间用指定的分隔符进行分隔。

#

# 在____________上补充代码

#

while True:

    try:

        a = eval(input('请输入一个正整数: '))    

        if a > 0 and int(a)==a:

            print(a)

            break

        else:

            print("请输入正整数")

    except:

        print("请输入正整数")

------------------------------------------------------------------------------------------------

int(a)==a表示a可以被转换为整数,即a是一个整数。

break关键字结束循环,即跳出while循环。

通过使用tryexcept语句块来捕获可能发生的异常。如果用户输入的内容无法被eval()函数解析为有效的表达式,即输入的不是一个合法的数值,那么会产生一个异常。在这种情况下,except语句块会被执行。

#

# 在____________上补充代码

#

std = [['张三',90,87,95],['李四',83,80,87],['王五',73,57,55]]

modl = "亲爱的{}, 你的考试成绩是: 英语{}, 数学{}, Python语言{}, 总成绩{}.特此通知."

for st in std:

    cnt = 0   #总成绩初始值

    for i in range(3): #循环三科成绩

        cnt += st[i+1] #成绩求和

    print(modl.format(st[0],st[1],st[2],st[3],cnt))

------------------------------------------------------------------------------------------------

定义一个二维列表std,其中包含了三个学生的信息和成绩。

定义一个字符串模板modl,用来格式化输出学生的信息和成绩,方便使用format。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

+1MB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值