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)
习题讲解
参考代码
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()