python二级操作题与分析(3)

1.根据输入字符串 s,输出一个宽度为 15 字符,字符串 s 居中显示,以“=”填充的格式。如果输入字符串超过 15 个字符,则输出字符串前 15 个字符。提示代码如下:
s = input()print()

输入输出示例
输入 输出
示例 1 PYTHON PYTHON=
习题讲解

参考代码
s = input()  # "请输入一个字符串:"
print("{:=^15}".format(s[0:15]))

2.根据斐波那契数列的定义,F(0)=0,F(1)=1, F(n)=F(n–1)+F(n–2)(n≥2),输出不大于 100 的序列元素,提示代码如下:
a,b = 0, 1
while :
print(a, end = “,”)
a, b =
习题讲解

参考代码
a, b = 0, 1
while a<=100:
    print(a, end=',')
    a, b = b, a + b

3.如下是一个完整程序,根据提示代码完成如下任务,输出如“2020年10月10日10时10分10秒”样式的时间信息。

timestr = “2020-10-10 10:10:10”
t = time.strptime(timestr, “%Y-%m-%d %H:%M:%S”)
print(time.strftime(“”, t)
习题讲解

参考代码
import time
timestr = "2020-10-10 10:10:10"
t = time.strptime(timestr, "%Y-%m-%d %H:%M:%S")
print(time.strftime("%Y年%m月%d日%H时%M分%S秒", t))

4.使用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个等边三角形,边长为 200 像素,效果如下图所示。请结合程序整体框架,根据提示代码完成程序。

提示代码:
import turtle as t
for i in range():
t.seth()
t.fd()


自动评阅说明

依次以字符串形式输出____①____,,____③____应填的值即可自动评阅,运算符两侧要加空格
例如,如果代码为:
import turtle as t
for i in range(100):
t.seth(i + 100)
t.fd(200)
则在提交代码页面输入: print(‘100’, ‘i + 100’, ‘200’)
习题讲解

参考代码
import turtle as t
for i in range(3):
    t.seth(i * 120)
    t.fd(200)

  1. 编写代码完成如下功能:
    (1)建立字典 d,包含内容是:“数学”:101, “语文”:202, “英语”:203, “物理”:204, “生物”:206。
    (2)向字典中添加键值对"化学":205。
    (3)修改"数学"对应的值为 201。
    (4)删除"生物"对应的键值对。
    (5)按顺序打印字典 d 全部信息,参考格式如下(注意,其中冒号为英文冒号,逐行打印):
    201:数学
    202:语文
    203:(略)

习题讲解


    参考代码
d = {"数学":101, "语文":202, "英语":203, "物理":204, "生物":206}
d["化学"] = 205
d["数学"] = 201
del d["生物"]
for key in d:
    print("{}:{}".format(d[key], key))

6.请编写程序,生成随机密码。具体要求如下:
(1)使用 random 库,采用 0x1010 作为随机数种子。
(2)密码 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&* 中的字符组成。
(3)每个密码长度固定为 10 个字符。
(4)程序运行每次产生 10 个密码,每个密码一行。
(5)每次产生的 10 个密码首字符不能一样。
(6)程序运行后产生的密码保存在“随机密码.txt”文件中。

不写入文件,直接 print 10 个密码即可自动评阅

习题讲解

参考代码
import random
random.seed(0x1010)
s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*"
ls = []
excludes = ""while len(ls) < 10:
    pwd = ""
    for i in range(10):
        pwd += s[random.randint(0, len(s)-1)]
    if pwd[0] in excludes:
        continue
    else:
        ls.append(pwd)
        excludes += pwd[0]
# 直接打印
print("\n".join(ls))
# 或写入文件
fo = open("随机密码.txt", "w")
fo.write("\n".join(ls))
fo.close()

你可能感兴趣的:(python)