1.用户登录注册案例
users = {} # 存储用户信息的字典
def register():
username = input("请输入用户名: ")
if username in users:
print("该用户名已被注册,请重新输入!")
return
password = input("请输入密码: ")
users[username] = password
print("注册成功!")
def login():
username = input("请输入用户名: ")
password = input("请输入密码: ")
if username not in users or users[username] != password:
print("用户名或密码错误!")
else:
print("登录成功!")
# 测试代码
register()
login()
测试结果:
2.求50~150之间的质数是那些?
for num in range(50,151):
flag=True
for i in range(2,num):
if num%2==0 or num%3==0 or num%5==0 or num%7==0 or num%11==0 :
flag=False
break
if flag:
print("",num)
测试结果:
3.打印输出标准水仙花数,输出这些水仙花数
# 方法一
for x in range(100,1000):
a = x // 100 # 百位
b = x % 100 // 10 # 十位
c = x % 10 # 个位
if a ** 3 + b ** 3 + c ** 3 == x:
print(x)
# 方法二
for x in range(1,10): # 百位:不能为0,所以在1-10(不包函10)循环
for y in range(10): # 十位
for z in range(10): # 个位
# 百位*100+十位*10+个位=最终的三位数
if x ** 3 + y ** 3 + z ** 3 == x * 100 + y * 10 +z:
print(x * 100 + y * 10 +z)
测试结果:
4.验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
def bigger_than_9(num):
if num < 9 :
return
count = 0
num_start = num #存储输入初值
while num > 0 :
count += num % 10
num //= 10 #通过取余的方式循环取出每一位数
if (num_start - count)%9 ==0:
return True
return False
num= int(input ('输入一个数'))
print(bigger_than_9(num))
测试:
5.一个五位数,若在它的后面写上一个7,得到一个六位数A, 若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此 五位数.
for i in range (10000,100000) :
a = i*10+7
b = 700000+i
if a*5 == b:
print("这个五位数是:",i)
测试:
6.有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币 [10, 8, 5, 3, 27, 99]
coin=[10, 8, 5, 3, 27, 99]
x=0
for i in coin:
if i%2==0:
x+=i//2
else:
x+=i//2+1
print("最少%s"%(x)+"次可以拿完硬币")
测试:
7.如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
def is_prime(n):
if n<=1:
return False
for i in range(2,int(n**0.5+1)):
if n%i==0:
return False
return True
print("这些孪生数是:")
for i in range(2,100):
if is_prime(i)and is_prime(i+2):
print(i,i+2)
测试:
8.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和
l=[10,20,25,45,50,55,13,23]
max_num=25
for i in l :
if i>max_num:
max_num = i
print("最大值为:%s"%max_num)
# 最小值
min_num = 55
for i in l:
if i < min_num:
min_num = i
print("最小值是:%s"%min_num)
# 平均值
avg_num=0
for i in l :
avg_num+=i
print("平均值是:%s"%(avg_num/len(l)))
# 和
sun_num=0
for i in l :
sun_num+=i
print("平均值是:%s"%(sun_num))
测试:
9.将list中的重复数据去重,至少使用两种方案
方法一用set消除重复元素
l =[4,45,89,8,8,8,0,0,0,8]
for i in l :
l2=list(set(l))
print("去重后的元素为:%s"%ls2)
# 方法二:
l=[5,7,5,6,54,7,7,8]
l2=[]
for i in l:
if i not in l2:
l2.append(i)
print("去重后的元素为:%s"%l2)
测试:
10.如何将0-10随机存入列表中
import random
ls=[]
for i in range(1,11):
num=random.randint(1, 11)
ls.append(num)
print("添加后的元素为:%s"%ls)
测试: