Python练习五

时间:2023-03-09 16:36:37
Python练习五

1.用文件操作的方式,创建登录注册功能,允许用户输错三次。

user = input("请输入你要注册的用户名:")
password = input("请输入你要注册的密码:")
with open("user_pwd", mode="w+", encoding="utf-8") as f:
f.write("{}\n{}".format(user, password))
print("注册成功")
i = 0
li = []
while i < 3:
u = input("请输入你的用户名:")
p = input("请输入你的密码:")
with open("user_pwd", mode="r+", encoding="utf-8") as f1:
for line in f1:
li.append(line)
if u == li[0].strip() and p == li[1].strip():
print("登录成功")
break
else:
print("用户名或密码错误")
i += 1

2.文件“小护士班主任”里面的内容为:
小护士:金老板
班主任:太白金星
请把文件内容太白修改为太上老君。

with open("小护士班主任", mode = "r", encoding="utf-8") as f, open("小护士班主任.bak", mode = "w", encoding="utf-8") as f2:
for line in f:
if "太白金星" in line:
line = line.replace("太白金星", "太上老君")
f2.write(line)
import os
os.remove("小护士班主任")
os.rename("小护士班主任.bak", "小护士班主任")

3.水仙花数是一个三位数,其中各位数字的立方和等于该数本身。编程求所有的水仙花数。

for i in range(100, 1000):
s = str(i)
x = s[0]
y = s[1]
z = s[2]
if int(x) ** 3 + int(y) ** 3 + int(z) ** 3 == int(s):
print(i)

4.素数是除了能被1和本身整除,不能被其他整数整除的数。编程求100以内的素数。

a = []
for i in range(2, 101):
s = True
for n in range(2, i):
if i % n == 0:
s = False
break
if s == True:
a.append(i)
print(a)

5.创建一个包含10个元素的列表,任意输入10个整数,编程统计并输出列表中大于这10个数平均值的元素个数。

i = 0
s = 0
n = 0
a = []
while i < 10:
s = int(input("请输入一个数字:"))
a.append(s)
i += 1
for x in a:
s += x
avg = s / 10
for y in a:
if avg < y:
n += 1
print(n)