目录
4、求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
6、给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前。
7、给定一个非负整数数组A,该数组的元素都是从1~N的元素组成,现在发现其中确实一个,请找出这个确实的元素。
8、小明有一堆苹果,他每天吃掉这堆的一半加一个,等第六天,小明剩余1个苹果,问,这堆苹果共多少个?
Demo01 摄氏温度转化为华氏温度
celsius=float(input("请输入一个摄氏温度:"))
#温度转换公式
fahrenheit=(9/5)*celsius+32
print("该摄氏温度转换为华氏温度为:%.1f"%fahrenheit)
Demo02 计算圆柱体的体积
import math#引入数学库函数
radius,length=(input("请输入圆柱的半径和高,使用空格隔开:").split())
π=math.pi#定义Pi
area=float(radius)*float(radius)*π#计算底面积
volume=area*float(length)#计算体积
print("圆柱的底面积为:%.2f\n"%area,"圆柱的体积:%.2f"%volume)
Demo03 将英尺数转换为米数
temp=float(input("请输入英尺数:"))
m=temp*0.305#转换
print("米数为:%.4f"%m)
Demo04 计算小费
money1,temp=input("请输入小计和酬金率,两个数据用之间用空格分隔:").split()#使用split分隔字符串
tip=float(money1)*float(temp)*0.01#小费
money2=float(money1)+tip#合计金额
print("小费为:%.2f\n"%tip,"合计金额为:%.2f"%money2)
Demo05 对一个整数中的各位数字求和
num=int(input("请输入一个0-1000间的整数:"))
if num>=1000 or num<=0:
print("输入错误")
else:
U=num%100%10#个位
S=num%100//10#十位
H=num//100#百位
print(str(U+S+H)+"\n"+"解释:\n"+str(num)+"各位数之和为"+str(H)+"+"+str(S)+"+"+str(U)+"="+str(U+S+H))
Demo06 计算年数和天数
minutes=int(input("请输入分钟数:"))
if minutes%(24*60)==0:
temp=minutes//(24*60)#计算总天数
else:
temp=minutes//(24*60)+1
year=temp//365#年数
day=temp%year#该年剩余天数
print("年份为:%d\n"%year,"天数为:%d"%day)
Demo07 计算能量
#定义变量
M = float(input("水量:"))
initialTemperature = float(input("初始温度:"))
finalTemperature = float(input("最终温度:"))
#使用公式进行计算
Q = M * (finalTemperature - initialTemperature) * 4184
print(f"所需能量为:{Q}")
Demo08 分割数字
#定义数值
num = int(input("请输入一个四位整数:"))
#个位
num_U = num % 10
#十位
num_S = num % 100 // 10
#百位
num_H = num % 1000 // 100
#千位
num_K = num // 1000
print(f"个位:{num_U}\n"f"十位:{num_S}\n"f"百位:{num_H}\n"f"千位:{num_K}")
Demo12 最小数量的硬币
num = float(input("请输入想要兑换硬币的金额:"))
#1元
value_1 = num // 1
#0.25元
value_025 = num % 1 // 0.25
#0.1元
value_01 = num % 1 % 0.25 // 0.1
#0.05元
value_005 = num % 1 % 0.1 // 0.05
#0.01元
value_001 = num % 1 % 0.1 % 0.05 // 0.01
print(f"{value_1}个一元硬币\n"f"{value_025}个两角五分硬币\n"f"{value_01}个一角硬币\n"f"{value_005}个五分硬币\n"f"{value_001}个一分硬币")
Demo13 正多边形的面积
import math
n , s = input("请输入边的条数与边的长,用空格相隔:").split()
area = (float(n) * float(s) ** 2) / (4 * math.tan(math.pi / float(n)))
print("面积为:%.2f"%area)
Demo16 中彩票
import random
#生成随机数
num_RAN = random.randint(10 , 99)
num = int(input("请输入一个数:"))
print(num_RAN)
#拆解随机数并组成列表
num_RAN_one = num_RAN // 10
num_RAN_two = num_RAN % 10
temp_RAN = [num_RAN_one , num_RAN_two]
#拆解输入的数
num_one = num //10
num_tow = num % 10
#判断并输出
if num_RAN == num :
print("恭喜你,中了10000元!!!")
elif num_one in temp_RAN and num_tow in temp_RAN and num_one != num_tow:
print("恭喜你,中了3000元!!")
elif num_one in temp_RAN or num_tow in temp_RAN :
print("恭喜你,中了1000元!")
else :
print("谢谢惠顾。")
Demo17 解一元二次方程
a,b,c = input("请输入a、b、c三个数据,数据之间用空格分隔:").split()
r_1 = ( - float(b) + (float(b) ** 2 - 4 * float(a) * float(c)) ** 0.5) / (2 * float(a))
r_2 = ( - float(b) - (float(b) ** 2 - 4 * float(a) * float(c)) ** 0.5) / (2 * float(a))
if float(b) ** 2 - 4 * float(a) * float(c) > 0 :
print(" %.2f"%r_1 , "\n" , "%.2f"%r_2 )
elif float(b) ** 2 - 4 * float(a) * float(c) == 0 :
print("%.2f"%r_1)
else :
print("无实数解")
Demo19 未来是周几
#循环判断输入数据
while True :
day_t , day_f = input("请输入两个数据,分别表示今日星期几的数字和未来某天的天数,数据之间用空格分隔(0-6):").split()
if int(day_t) > 6 or int(day_t) < 0 :
print("输入错误请重新输入")
else :
break
#数值判断日期并输出
if int(day_t) + int(day_f) % 7 == 0 or int(day_t) + int(day_f) % 7 == 7 :
print("星期日")
elif int(day_t) + int(day_f) % 7 == 1 :
print("星期一")
elif int(day_t) + int(day_f) % 7 == 2 :
print("星期二")
elif int(day_t) + int(day_f) % 7 == 3 :
print("星期三")
elif int(day_t) + int(day_f) % 7 == 4 :
print("星期四")
elif int(day_t) + int(day_f) % 7 == 5 :
print("星期五")
elif int(day_t) + int(day_f) % 7 == 6 :
print("星期六")
Demo25 回文数
while True :
num = int(input("请输入一个三位整数:"))
if num > 999 or num < 100 :
print("请重新输入")
else :
break
num_H = num // 100
num_D = num % 100 // 10
num_S = num % 10
if int(str(num_H) + str(num_D) + str(num_S)) == int(str(num_S) + str(num_D) + str(num_H)) :
print("该数字为回文数")
else :
print("该数字不是回文数")
Demo34 最大公约数I
num_1 = int(input("请输入第一个正整数:"))
num_2 = int(input("请输入第二个正整数:"))
#取小的那个值以下的值进行判断
if num_1 >= num_2 :
for i in range(1 , num_2 + 1) :
#若该数可以同时被这两个数整除,则为公约数
if num_1 % i == 0 and num_2 % i == 0 :
#i逐渐增加,直到达到最大的公约数
num = i
print(f"最大公约数为:{num}")
if num_1 <= num_2 :
for i in range(1 , num_1 + 1) :
if num_1 % i == 0 and num_2 % i == 0 :
num = i
print(f"最大公约数为:{num}")
Demo36 最小公倍数
num_1 = int(input("请输入第一个正整数:"))
num_2 = int(input("请输入第二个正整数:"))
#取大的那个值后面的数进行判断
if num_1 >= num_2 :
#最多到两数相乘
for i in range(num_1 , num_2 * num_1 + 1) :
if i % num_1 == 0 and i % num_2 == 0 :
#从小的开始判断,满足条件则中断循环,就能拿到最小的那个公倍数
num = i
break
print(f"最小公倍数为:{num}")
elif num_1 <= num_2 :
for i in range(num_2 , num_1 * num_2 + 1) :
if i % num_1 == 0 and i % num_2 == 0 :
num = i
break
print(f"最小公倍数为:{num}")
Demo37 整数的素因子
num = int(input("请输入一个正整数:"))
#建立列表容纳因子
array = []
#存储输入的值
num_t = num
#定义循环变量并循环分解出因子
i = 2
while i <= num :
if num % i == 0 :
array.append(i)
num //= i
else :
i += 1
#输出
print(array)
temp = len(array)
print("解释:")
for i in array :
if i < temp :
print(f"{i} * " , end='')
else :
print(str(i) +" = "+str(num_t))
Demo38 完全数
num = int(input("请输入一个正整数:"))
array = []
#存储输入的值
num_t = num
#定义一个数用来储存因子和
sum = 0
#定义循环变量并循环分解出因子
i = 2
while i <= num :
if num % i == 0 :
array.append(i)
num //= i
else :
i += 1
for i in array :
sum += i
#多加一个1,因为1能被除
if sum + 1 == num_t :
print("yes")
else :
print("no")
Demo40 计算π
i= int(input("请输入计算次数:"))
#定义数容纳累加后的值
temp = 1
#定义分子的幂
k = 1
#计算
for j in range(3 , 2 * i , 2) :
temp = temp + ((- 1) ** k) / j
k += 1
π = temp * 4
print(π)
Demo41 计算e
i= int(input("请输入计算次数:"))
temp = 1
e = 1
for j in range(1 , i + 1) :
for k in range(1 , j + 1) :
temp = temp * k
e = e + 1 / temp
print(e)
Demo43 组合问题I
#定义一个数计算总个数
sum = 0
#两个循环,第一个输出前一个数,第二个输出后一个数,输出一次sum+1
for i in range(1 , 8) :
for j in range(i , 8) :
print(i , j)
sum += 1
print(sum)
Demo46 青蛙跳台阶
def frog(n) :
#一阶只有一种跳法
if n == 1 :
return 1
#两阶只有两种跳法
elif n == 2 :
return 2
#多阶,从最后一阶往回计算,跳一阶的数和跳两阶的数之和就是总的方法数
else :
return frog(n - 1) + frog(n - 2)
print(f"一共有{frog(4)}种跳法")
Demo47 堆叠相加
a , n = input("输入两个数据分别为数字a和组数n,用空格分隔:").split()
#初始化和
sum = 0
#循环
for i in range(1 , int(n) + 1) :
#字符串拼接后转换为整型计算
sum = sum + int(a * i)
print(sum)
print("解释:")
#输出解释
for j in range(1 , int(n) + 1) :
if j < int(n) :
print(f"{a}" * j + "+" , end='')
else :
print(f"{a}" * j + "=" + str(sum))
Demo48 十进制转二进制
#循环判断输入的数是否符合条件
while True :
num = int(input("请输入一个正整数:"))
if num % 1 == 0 :
break
temp = []
#拆分为倒序的二进制
while num > 0 :
temp.append(num % 2)
num //= 2
#反转列表为正确的顺序
temp.reverse()
#输出
for i in temp :
print(i , end=" ")
Demo49 二进制转十进制
array = list(input('请输入一个二进制数:'))
#定义一个数容纳列表的长度
temp = len(array)
#初始化十进制的数
num_S = 0
#循环使用位阶计算该十进制数(累加)
for i in array :
num_S += int(i) * (2 ** (temp - 1))
temp -=1
print(num_S)
Demo50 十进制转十六进制
temp = list(input("请输入一个16进制的数:"))
#初始化十进制数
sum = 0
#计算列表中的元素个数
num = len(temp)
#循环计算,将字符串转换为整型计算
for i in temp :
if i == "a" :
sum += 10 * (16 ** (num - 1))
elif i == "b" :
sum += 11 * (16 ** (num - 1))
elif i == "c" :
sum += 12 * (16 ** (num - 1))
elif i == "d" :
sum += 13 * (16 ** (num - 1))
elif i == "e" :
sum += 14 * (16 ** (num - 1))
elif i == "f" :
sum += 15 * (16 ** (num - 1))
#本来就是整形的直接计算
else :
sum += int(i) * (16 ** (num - 1))
#位阶的幂
num -= 1
print(sum)
Demo52 最长公共前缀
array_1 = list(input("请输入第一个字符串:"))
array_2 = list(input("请输入第二个字符串:"))
temp = []
i = 0
#如果两个列表同一位置的元素相同,则输入到第三个数组
while i < len(array_1) :
if array_1[i] == array_2[i] :
temp.append(array_1[i])
i += 1
#一旦碰到不相同的,结束循环
else :
break
#输出
for i in temp :
print(i , end="")
Demo53 子串出现的次数
while True :
s1 = (input("请输入第一个字符串:"))
s2 = (input("请输入第二个字符串:"))
if len(s1) > len(s2) :
break
count = s1.count(s2)
print(count)
Demo55 检测密码
password = input("请输入密码:")
#定义两个数用来容纳数组中的大写字母和数字个数
num1 = 0
num2 = 0
#判断大写字母和数字个数
for i in password :
if i.isdecimal() :
num1 += 1
elif i.isupper :
num2 += 1
#判断规则
if len(password) < 8 :
print("No")
elif password.isalnum() == False :
print("No")
elif num1 < 2 :
print("No")
elif num2 < 2 :
print("No")
else :
print("Yes")
print(num1 , num2)
Demo56 回文素数
#函数检测素数
def is_sushu(num):
for i in range(2, num // 2 + 1):
if num % i == 0:
return False
return True
#函数检测回文数
def is_huiwenshu(num):
if str(num) == str(num)[::-1]:
return True
#count统计回文数个数
count = 0
#定义用来循环每一个数的数,从2开始
num = 2
while count < 100:
if is_sushu(num) and is_huiwenshu(num):
print("%5d"%num, end=" ")
count += 1
#每10个换行
if count % 10 == 0:
print()
num += 1
Demo57 反素数
#函数检测素数
def is_sushu(num):
for i in range(2, num // 2 + 1):
if num % i == 0:
return False
return True
#反转列表并生成数字
def fanzhuan(num) :
#拆分并生成列表
temp = [int(i) for i in str(num)]
#利用切片反转列表
temp = temp[::-1]
#整合列表中的数成为新的整数
temp = [str(i) for i in temp]
temp = int("".join(temp))
return temp
#count统计反素数个数
count = 0
#定义用来循环每一个数的数,从2开始
num = 2
#输出
while num < 1000:
if is_sushu(num) and is_sushu(fanzhuan(num)):
print("%5d"%num, end=" ")
count += 1
#每10个换行
if count % 10 == 0:
print()
num += 1
Demo58 双素数
#函数检测素数
def is_sushu(num):
for i in range(2, num // 2 + 1):
if num % i == 0:
return False
return True
#定义用来循环每一个数的数,从2开始
num = 2
while num < 1000 :
if is_sushu(num) and is_sushu(num + 2) :
print(f"{num}和{num + 2}是一对双素数")
num += 1
Demo59 梅森素数
#函数检测素数
def is_sushu(num):
for i in range(2, num // 2 + 1):
if num % i == 0:
return False
return True
# 定于数循环
num = 2
#梅森数,是指形如2p-1的一类数,其中指数p是素数,常记为Mp。如果梅森数是素数,就称为梅森素数。
while num <= 31 :
temp = 2 ** num - 1
if is_sushu(temp) :
print(f"{temp}是一个梅森素数")
num += 1
Demo60 平方根的近似求法
# nextGuess=(lastGuess+n/lasetGuess)/2
#初始化数据
num = float(input("请输入一个数:"))
nextGuess = 0
lastGuess = 1
# 循环求值
while True :
nextGuess = (lastGuess + num / lastGuess) / 2
if nextGuess - lastGuess < 0.0001 :
print(f"{nextGuess}是{num}的平方根的近似值")
break
lastGuess = nextGuess
1、不死兔子。
def rabbit(num) :
if num == 1 or num == 2 or num == 3 or num == 4 :
return 1
else :
return rabbit(num - 1) + rabbit(num - 4)
num = int(input("请输入时间(几个月):"))
print(rabbit(num))
2、输入字符串,判断该字符串是否是回文字符串。
array = (input("请输入一个字符串:"))
array = [str(i) for i in array]
print(f"原列表:{array}")
temp = array[: : -1]
print(f"翻转后:{temp}")
if array == temp :
print("该字符串是一个回文字符串")
else :
print("该字符串不是一个回文字符串")
3、给定一个正整数N,找出1到N(含)之间所有质数的总和。
#函数检测素数
def is_sushu(num):
for i in range(2, num // 2 + 1):
if num % i == 0:
return False
return True
#初始化数据
N = int(input("请输入一个数:"))
temp = 0
#循环求和
for i in range(1 , N + 1) :
if is_sushu(i) :
temp += i
#输出
print(temp)
4、求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
#初始化数据,分别是数,项数,容纳数的数组,各项和
while True :
a = int(input("请输入一个数(1~9):"))
if a <= 9 or a >= 1 :
break
else :
print("输入错误,请重新输入")
temp = int(input("请输入想要计算的项数:"))
array = []
num = 0
#循环求和,每循环一次项加一位数
for i in range(temp) :
array.append(a)
#转换位字符类型才能进行拼接操作
array = [str(i) for i in array]
num += int(''.join(array))
print(num)
5、合并两个有序数组,合并后还是有序列表。
#初始化数组
array1 = input("请输入第一个数组:")
array2 = input("请输入第二个数组:")
#转换数组内每一个数据的类型为整型
array1 = [int(i) for i in array1]
array2 = [int(j) for j in array2]
#合并
for i in array2 :
array1.append(i)
#插入排序
for i in range(len(array1) - 1) :
for j in range(len(array1) - 1 , 0 , -1) :
if array1[j] < array1[j - 1] :
array1[j] , array1[j - 1] = array1[j - 1] , array1[j]
print(array1)
6、给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前。
#初始化数组并转换
A = input("请输入一个数组:")
A = [int(i) for i in A]
#插入排序
for i in range(len(A) - 1) :
for j in range(len(A) - 1 , 0 , -1) :
if A[j] < A[j - 1] :
A[j] , A[j - 1] = A[j - 1] , A[j]
#初始化两个数组容纳奇数和偶数
temp_o = []
temp_j = []
#将奇数和偶数分离
for i in A :
if i % 2 ==0 :
temp_o.append(i)
else :
temp_j.append(i)
#将A数组清空
A = []
#奇数和偶数分开赋给A
for i in temp_o :
A.append(i)
for j in temp_j :
A.append(j)
print(A)
7、给定一个非负整数数组A,该数组的元素都是从1~N的元素组成,现在发现其中确实一个,请找出这个确实的元素。
#初始化数组并排序
A = input("请输入一个数组:")
A = [int(i) for i in A]
for i in range(len(A) - 1) :
for j in range(len(A) - 1 , 0 , -1) :
if A[j] < A[j - 1] :
A[j] , A[j - 1] = A[j - 1] , A[j]
#函数二分法查找
def foud(A , left , right , aim) :
if left > right:
return -1
middle = (left + right) // 2
if A[middle] > aim:
return foud(A, left, middle - 1, aim)
elif A[middle] < aim:
return foud(A, middle + 1, right, aim)
else:
return middle
aim = int(input("请输入目标数:"))
print(f"数组为:{A}")
print(f"该数在数组的第{foud(A , 0 , len(A) , aim) + 1}个")
8、小明有一堆苹果,他每天吃掉这堆的一半加一个,等第六天,小明剩余1个苹果,问,这堆苹果共多少个?
i = 1
num = 1
while i < 6 :
num = (num + 1) * 2
i += 1
print(num)
控制台 - 英雄
#初始化容纳用户信息的列表和字典
Users = []
user = {}
def Login_page() :
'''
功能:登陆页面
返回选择的功能
'''
print()
print()
print(' 英雄联盟商城登陆页面')
print('- * - * - * - * - * - * - * - * - * - * - * -')
print(' 1、用户登录\n')
print(' 2、新用户注册\n')
print(' 3、退出系统\n')
print('~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~')
choice1 = int(input('(温馨提示)请输入您的选项:'))
return choice1
def Home_page() :
'''
功能:商城页面
返回选择的功能
'''
print()
print()
print(' 英雄联盟商城首页')
print('- * - * - * - * - * - * - * - * - * - * - * -')
print(' 1、进入英雄超市\n')
print(' 2、休闲小游戏\n')
print(' 3、退出登陆\n')
print('~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~')
choice2 = int(input('(温馨提示)请输入您的选项:'))
return choice2
def List() :
'''
功能:英雄列表页面
返回选择的功能
'''
print()
print()
print(' 英雄商城英雄列表')
print('~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~')
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('~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~')
choice3 = int(input('(温馨提示)请输入您要购买的英雄编号:'))
return choice3
def Buy() :
'''
功能:确认支付页面
返回选择是否支付
'''
print()
print()
print(' 英雄商城购买英雄\n英雄购买票据')
print('~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *\n')
print(' 英雄名称:盲僧(史诗)')
print(' 英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n 攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125\n')
print(' 英雄座右铭:一人之行可灭世,众人之勤可救世!')
print(' 英雄价格:3000')
print(' 活动折扣:9.5\n')
print('插播广告:当风云变色,当流离失所,世界不再是旧日模样\n你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡')
print('~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ')
choice4 = input('(温馨提示)请付款(y/n):')
return choice4
def Receipt() :
'''
票据页面
返回到首页页面
'''
print()
print()
print(' 英雄商城购买英雄\n英雄购买票据')
print('~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n')
print(' 英雄名称:九尾妖狐(史诗)')
print(' 英雄价格:10000')
print(' 活动折扣:9.5\n')
print(' 应付付款:9500')
print(' 实际付款:10000')
print(' 找零:500\n')
print('插入广告:当风云变色,当流离失所,世界不再是旧日模样\n你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡')
print('~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~')
choice5 = input('(温馨提示)按任意键返回上一级菜单:')
return True
def Check_log(username , password) :
'''
功能:登陆
参数username:传入用户输入的用户名
参数password:传入用户输入的密码
返回用户是否存在,密码是否正确
'''
global user
global Users
if username != user.get("username") :
print("用户不存在,请注册。")
return 0
elif password != user.get("password") :
print("密码错误请重新输入。")
return 0
else :
print("登陆成功")
return True
def Check_Sign(username , password) :
'''
功能:注册,并且存入账户信息
参数username:传入用户输入的用户名
参数password:传入用户输入的密码
返回账户是否注册成功
'''
global user
global Users
if username == user.get("username") :
print("用户已存在。")
return 0
elif len(password) <= 3 :
print("密码长度不得小于三位。")
return 0
elif password != password2 :
print("两次输入密码不同")
return 0
else :
print("注册成功,请登录")
user = {"username" : username , "password" : password}
Users.append(user)
return True
#弹出商城登陆页面,并用一个参数接选择的选项
temp1 = Login_page()
#循环,用于登陆和注册
while True :
#选择1,即登陆。传入登陆函数用户名和密码用于检测书否登陆成功
if temp1 == 1 :
username = input("请输入用户名:")
password = input("请输入密码:")
num1 = Check_log(username , password)
#检测成功,成功登录,结束循环,跳转商城首页并用一个参数接选择的选项
if num1 :
temp2 = Home_page()
break
#如果判定为不正确,则选择是否继续登陆,选择"n",则跳转回商城登陆页面
elif num1 == 0 :
cache1 = input("是否继续登录(y/n):")
if cache1 == "n" :
temp1 = Login_page()
#选择2,即注册。传入用户名和密码用于注册一个新的账号
elif temp1 == 2 :
username = input("请输入用户名:")
password = input("请输入密码:")
password2 = input("请再次输入密码:")
num2 = Check_Sign(username , password)
#注册成功,跳转回商城登陆页面
if num2 :
temp1 = Login_page()
#注册失败,重新注册
elif num2 == 0 :
print("请重新注册")
#选择3,即退出。
elif temp1 == 3 :
exit(0)
#选择1,2,3以外的选项,重新输入
else :
print("输入错误,请重新输入")
temp1 = Login_page()
#循环,登陆成功后进行其他的操作
while True :
#如果选择1,即进入英雄列表
if temp2 == 1 :
#选择需要购买的英雄,并用一个参数接选项
temp3 = List()
#按照选择的英雄跳转到是否确认购买的页面
if temp3 == 1 or temp3 == 2 or temp3 == 3 or temp3 == 4 or temp3 == 5 :
#定义一个参数来接是否确认购买
temp4 = Buy()
#若确定,则跳转到票据页面
if temp4 == "y" :
#票据页面返回True,所以不论输入什么,都返回到商城首页
if Receipt() :
temp2 = Home_page()
break
#若不确定,则返回到英雄列表
elif temp4 == "n" :
print("请选择需要的英雄:")
continue
#输入错误,也将返回到英雄列表
else :
print("输入错误,请重新选择英雄")
continue
#若不存在所选英雄,则重新选择
else :
print("输入错误,请重新输入")
#暂时没有该功能
elif temp2 == 2 :
exit(0)
#暂时没有该功能
elif temp2 == 3 :
exit(0)
# 输入错误,重新选择功能
else :
print("输入错误,请重新输入")
temp2 = Home_page()