一、不死兔
有一对兔子,从出生后第三个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,求它在任意月份的兔子对数为多少?
#使用递归的方法实现
month=eval(input('请输入月份'))
def f(month):
if month==1 or month ==2:
return 1
else:
return f(month-2)+f(month-1)
print(f(month))
二、输入字符串,判断该字符串是否是回文字符串 (切片)
a = input("请输入一个字符串")
if a[0:] == a[::-1]:
print("yes")
else:
print("no")
三、给定一个正整数N,找出1到N(含)之间所有质数的总和
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def sum_of_primes(N):
return sum(i for i in range(1, N+1) if is_prime(i))
N = int(input("请输入一个正整数N:"))
print(f"1到{N}之间所有质数的总和为:{sum_of_primes(N)}")
四、求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
def ahe(a:int,b:int) -> int:
temp = ''
he = 0
for i in range(b):
temp = temp + '1'
he += a * int(temp)
return he
a = int(input("请输入a的值:"))
b = int(input("请输入要循环的项数:"))
print(f"所得和为:{ahe(a,b)}")
五、合并两个有序数组,合并后还是有序列表
def hebing(a:list,b:list) -> list:
for i in b:
a.append(i)
for j in range(len(a) - 1):
for k in range(len(a) - 1 - j):
if a[k] > a[k + 1]:
a[k], a[k + 1] = a[k + 1], a[k]
return(a)
a=[1,2,3,4]
b=[2,3,4,5]
print(f"{a},{b}合并后的有序数列为{hebing(a,b)}")
六、给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前。
def oqian(a:list) -> list:
for i in range(len(a) - 1):
for j in range(len(a) - 1 - i):
if a[j + 1] & 1 == 0 and a[j] & 1 == 1:
a[j], a[j + 1] = a[j + 1], a[j]
return a
a=[1,2,3,4,5,6]
print(f"排序后的数列a = {oqian(a)}")
七、给定一个非负整数数组A,该数组的元素都是从1~N的元素组成,现在发现其中确实一个,请找出这个确实的元素。
def zhao(a:list,n:int) -> list:
b = []
for j in range(1,n + 1):
if a.count(j) == 0:
b.append(j)
return b
a = [1,2,3,4,6,7,8]
print(f"数组a = {a}")
print(f"缺失的元素 = {zhao(a,9)}")
八、小明有一堆苹果,他每天吃掉这堆的一半加一个,等第六天,小明剩余1个苹果,问,这堆苹果共多少个?
def apple(n : int) -> int:
if n == 1:
return 1
return 2*apple(n-1) + 2
print(apple(6))
英雄联盟购买登录注册
import sys
users_data = {}
def new_user_data():
print("请输入您的账号:")
while True:
user_id = str(input())
if len(user_id) < 3:
print("账号过短,请重新输入")
continue
# 有问题
for keys in users_data.keys() :
if user_id == keys:
print("账号已存在,请重新输入账号:")
break
else:
break
print("请输入您的密码:")
while True:
user_passwd = str(input())
if len(user_passwd) < 3:
print("密码过短,请重新输入:")
continue
else:
print("请确认密码:")
user_passwd_chacked = str(input())
if user_passwd_chacked != user_passwd:
print("两次密码不一致,请重新输入:")
continue
else:
users_data[user_id] = user_passwd
print("注册成功")
break
return users_data
def user_login():
"""
用户登录
user_id 用户账号
user_passwd 用户密码
"""
print("请输入你的账号:")
while True:
user_id = str(input())
flog = False
for key in users_data.keys():
if user_id == key:
flog = True
break
if flog :
break
else:
print("账号不存在,请重新输入:")
print("请输入您的密码:")
while True:
user_passwd = str(input())
if user_passwd == users_data[user_id]:
return ""
else:
print("密码输入有误,请重新输入:")
continue
while True:
#英雄商城登录界面
print("\t英雄商城登录界面\n")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("\t1. 用户登录\n")
print("\t2. 新用户注册\n")
print("\t3. 退出系统\n")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("(温馨提示)请输入您的选项:")
login_num = int(input())
if login_num == 1 :
user_login()
while True:
#英雄联盟商城首页
print("\t英雄联盟商城首页\n")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("\t1. 进入英雄超市\n")
print("\t2. 休闲小游戏\n")
print("\t3. 退出登录\n")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("(温馨提示)请输入您的选项:")
home_num = int(input())
if home_num == 1:
while True:
print("\t英雄商城英雄列表\n")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("编号 姓名 昵称 价格 库存 描述\n")
print("1 纳尔 迷失之牙 3500 100 丛林不会原谅盲目与无知\n")
print("2 锐雯 放逐之刃 4000 100 她是残忍高效的战士\n")
print("3 薇恩 暗夜猎手 3500 100 这个世界不想人们想象的那么美好\n")
print("4 扎克 生化魔人 3000 100 即使你没有脊柱,你也必须站起来\n")
print("5 杰斯 未来守护者 2500 100 武装着睿智与魅力,你的选择没有错\n")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("(温馨提示)请输入您要购买的英雄编号:")
buy_num = int(input())
if buy_num ==1 :
#英雄商城购买英雄
print("\t英雄商城购买英雄\n")
print("英雄购买票据")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n\n")
print("英雄名称:纳尔\n")
print("英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n")
print("攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125\n\n")
print("英雄座右铭:一人之行可灭世,众人之勤可救世!\n")
print("英雄价格:3000\n")
print("活动折扣:9.5\n\n")
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("(温馨提示)请付款:")
if buy_num == 2:
#英雄商城购买英雄
print("\t英雄商城购买英雄\n")
print("英雄购买票据")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n\n")
print("英雄名称:锐雯(史诗)\n")
print("英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n")
print("攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125\n\n")
print("英雄座右铭:一人之行可灭世,众人之勤可救世!\n")
print("英雄价格:3000\n")
print("活动折扣:9.5\n\n")
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("(温馨提示)请付款:")
if buy_num == 3 :
#英雄商城购买英雄
print("\t英雄商城购买英雄\n")
print("英雄购买票据")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n\n")
print("\t英雄名称: 薇恩(史诗)\n")
print("\t英雄价格:10000\n")
print("\t活动折扣:9.5\n\n")
print("\t应付付款:9500\n")
print("\t实际付款:10000\n")
print("\t找零:500\n\n")
print("插入广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("(温馨提示)按任意键返回上一级菜单:")
if buy_num == 4:
#英雄商城购买英雄
print("\t英雄商城购买英雄\n")
print("英雄购买票据")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n\n")
print("\t英雄名称: 扎克 (史诗)\n")
print("\t英雄价格:10000\n")
print("\t活动折扣:9.5\n\n")
print("\t应付付款:9500\n")
print("\t实际付款:10000\n")
print("\t找零:500\n\n")
print("插入广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("(温馨提示)按任意键返回上一级菜单:")
if buy_num == 5:
#英雄商城购买英雄
print("\t英雄商城购买英雄\n")
print("英雄购买票据")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n\n")
print("\t英雄名称: 杰斯 (史诗)\n")
print("\t英雄价格:10000\n")
print("\t活动折扣:9.5\n\n")
print("\t应付付款:9500\n")
print("\t实际付款:10000\n")
print("\t找零:500\n\n")
print("插入广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("(温馨提示)按任意键返回上一级菜单:")
if home_num == 2:
print("这里是休闲小游戏")
#TODO
if home_num == 3:
break
if login_num == 2:
new_user_data()
if login_num == 3:
sys.exit(0)
else:
print("参数输入有误,请重新输入:")