“:->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
模块中的一个函数,用于生成一个在指定范围内的随机整数,包括两个边界值a
和b
。
# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码
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()
函数返回x
的y
次幂的结果。 下面是一些示例:
# 在____________上补充代码
#
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
循环。通过使用
try
和except
语句块来捕获可能发生的异常。如果用户输入的内容无法被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。