第六次作业

控制台:

import sys

users = []
 
 
def check_name_null(name, password, confirm_password):
    if name is None or name == "":
        print("用户名称不能为空")
        return False
    return True
 
 
def check_user_info(name):
    for u in users:
        if name == u.get("username"):
            return u
    return None
 
 
def check_info(password, confirm_password):
    if len(password) < 3:
        print("对不起,密码长度不能少于3位.")
        return False
    if password != confirm_password:
        print("对不起,两次密码不一致.")
        return False
    return True 
 
 
def reg():
    while True:
        name = input("请输入用户名称:")
        password = input("请输入用户密码:")
        confirm_password = input("请再次确认用户密码:")
        # 校验用户信息
        if check_name_null(name, password, confirm_password) and check_info(password, confirm_password):
            if check_user_info(name) is None:
                user = {"username": name, "password": password}
                users.append(user)
                print("注册成功")
                break
            else:
                print("对不起,该用户已存在,请重新注册.")
        else:
            print("注册失败!!")
 
 
def check_user_login(name, password):
    user = check_user_info(name)
    if user is None:
        print("用户不存在!!!")
        return False
    else:
        ps = user.get("password")
        if ps == password:
            print("登录成功")
            return True
        else:
            print("密码错误")
            return False
 
 
def login():
    while True:
        name = input("请输入用户名称:")
        password = input("请输入用户密码:")
        # 校验用户信息
        if check_user_login(name, password):
            return True
        else:
            return False
        
 
def list1():
    print("\n\t英雄商城英雄列表\n")
    print("\t英雄联盟商城英雄列表\n")
    print("~ * "*13)
    print("\n\t编号 姓名 昵称 价格 库存 描述\n")
    print("\t1 纳尔 迷失之牙 3500 100 丛林不会原谅盲目与无知\n")
    print("\t2 锐雯 放逐之刃 400 100 她是残忍高效的战士\n")
    print("\t3 薇恩 暗夜猎手 3500 100 这个世界不想人们想象的那么美好\n")
    print("\t4 扎克 生化魔人 3000 100 即使你没有脊柱,你也必须站起来\n")
    print("\t5 杰斯 未来守护者 2500 100 武装着睿智和魅力,你的选择没有错\n")
    print("~ * "*13)
 
        
 
def pay():
    numbering = input("请输入您要购买英雄编号:")
    num = int(input("(温馨提示)请输入您要购买的英雄数量:"))
    price = 0
    name = ""
    moto = ""
    last_num = 0
    if numbering == "1":
            price = 3500 * num
            name = "纳尔"
            nickname = "迷失之牙"
            moto = "丛林不会原谅盲目与无知"
            last_num = 100 - num
    elif numbering == "2":
            price = 400 * num
            name = "锐雯"
            nickname = "放逐之刃"
            moto = "她是残忍高效的战士"
            last_num = 100 - num
    elif numbering == "3":
            price = 3500 * num
            name = "薇恩"
            nickname = "暗夜猎手"
            moto = "这个世界不想人们想象中的那么美好"
            last_num = 100 - num
    elif numbering == "4":
            price = 3000 * num
            name = "扎克"
            nickname = "生化魔人"
            moto = "即使你没有脊柱,你也必须站起来"
            last_num = 100 - num
    elif numbering == "5":
            price = 2500 * num
            name = "杰斯"
            nickname = "未来守护者"
            moto = "武装着睿智和魅力,你的选择没有错"
            last_num = 100 - num
    else:
            print("输入错误,请输入数字1~5:")
            pay()
            
    print("\n英雄详情\n购买页面\n")
    print("\t英雄商城购买英雄\n")
    print("英雄购买票据\n")
    print("~ * "*18)
    print("\n\t英雄名称:"+ name +"(史诗)\n")
    print(f"\n\t英雄昵称:{nickname}(史诗)\n")
    print("\t英雄属性:生命值428(+85)/能量200(+0)?移动速度425/攻击力55.8(+3.2)\n")
    print("\t英雄座右铭:", moto ,"\n")
    print("\t英雄价格:%s\n" %price)
    print("\t活动折扣:9.5\n")
    print("\t库存量:{}".format(last_num))
    print("插播广告:当风云变色,当流离失所,世界不再是旧日模样\n你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡\n")
    print("~ * "*18)
    print("(温馨提示)请付款\n")
    pays = int(input())
    while pays:
        if pays != price:
                print("付款不成功请重新付款:")
                pays = int(input())
        else :
                print("付款成功")
                return True    
 
    
 
while True:
    print("~ * "* 20)
    print("\t\t 1、用户注册")
    print("\t\t 2、用户登录")
    print("\t\t 3、退出系统")
    choice = input("请输入您的选择:")
    if choice == "1":
        reg()
    elif choice == "2":
        if login():
            list1()
            pay()
    elif choice == "3":
        # 退出系统
        sys.exit()

输入一个摄氏温度的值,将它转变为华氏温度,并将结果输出

转换的公式为如下:

fahrenheit=(9/5)*celsius+32

celsius = float(input("Enter a degree in Celsius:"))
fahrenheit = (9/5)*celsius + 32
print("%s Celsius is %s Fahrenheit"%(celsius,fahrenheit))

 

输入圆柱的半径和高,并利用如下公式计算圆柱体的底面积和体积。

area=radius*radius*π

volume=area*length

r,h = eval(input("Enter the radius and length of a cylinder:"))
area =r * r *3.14
volume = area * h
print("The area is %.4f"%area)
print("The volume is %.f"%volume)

输入分钟数,然后将该分钟数转换为年数和天数,假定一年有365天

a = int(input("Enter the number of minutes:"))
year = int(a/60/24/365)
day = int((a-year*60*24*365)/60/24)
print("%s minutes is approximately %s years and %s days"%(a,year,day))

水从初始温度加热到最终温度是需要能量的,请计算需要多少能量,公式如下:

Q = M * (finalTemperature - initialTemperature) * 4184

这里的M是按千克计的水量,初始温度和最终温度均为摄氏度,热量Q以焦耳计

M = float(input("Enter the amount of water in kilograms:"))
a = float(input("Enter the initial temperature:"))
b = float(input("Enter the final temperature:"))
Q = M * (b - a) * 4184
print("The energy needed is %s"%Q)

输入三角形的三个顶点坐标,并计算其面积,计算公式如下

s=(side1+side2+side3)/2 \\
area = \sqrt{s(s-side1)(s-side2)(s-side3)}

import math
x1,y1,x2,y2,x3,y3 = eval(input("Enter three points for a triangle:"))
side1 = math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))
side2 = math.sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3))
side3 = math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3))
s = (side1 + side2 + side3)/2
area = math.sqrt(s*(s-side1)*(s-side2)*(s-side3))
print(area)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值