python练习3

  1. 用户登录注册案例

    复制代码
    while True:
    print("\t\t\t英雄商城登录界面\n") print("~*"*38)
    print("\t\t\t1.用户登录\n")
    print("\t\t\t2.用户注册\n")
    print("\t\t\t3.退出系统\n") print("~*"*38)
    choice = input("请输入您的选择:")
    
    if choice == "1":
    username = input("请输入您的用户名:") password = input("请输入您的密码:")
    if username == "admin" and password == "111111":
    print("恭喜您,登录成功~") while True:
    print("\t\t\t英雄商城首页\n") print("~*"*38)
    print("\t\t\t1.进入英雄商店\n")
    print("\t\t\t2.休闲小游戏\n")
    print("\t\t\t3.退出登录\n") print("~*"*38)
    choice = input("请输入您的选择:") if choice == "1":
    print("新款皮肤2.8折,您需要支付50")
    num = int(input("请输入您要购买的数量:")) sum = num * 50
    print("您购买的皮肤,需要支付的金额是:",sum) pay = int(input("请支付商品需要的金额:"))
    #循环 支付错误重新支付
    if pay == sum :
    print("恭喜,购买成功!") else:
    print("抱歉,支付金额有问题,请重新支付") elif choice == "2":
    print("成功进入休闲小游戏") #继续优化else:
    break
    else:
    print("用户名或密码错误,请重新登录,按任意键继续:") elif	choice == "2":
    phone = input("请输入您要注册的手机号:") a = len(phone)
    if a == 11:
    b = input("请输入短信验证码:") c = len(b)
    if c == 6:
    password1 = input("请输入密码:") password2 = input("请再次确认密码:")
    if password1 == password2 and len(password1) <= 8:
    print("恭喜您,注册成功") else:
    print("两次密码输入不一致或设置密码过短,请重新注册")
    else:
    print("短信验证码输入有误,请重新输入")
    else:
    print("手机输入错误,请重新输入") elif choice == "3":
    break
  2. 求50~150之间的质数是那些?

    复制代码
    def zhishu(num):
            for i in range(2,num//2+1):
                if num%i==0:
                    return  False
            return True
    for i in range(50,151):
        if zhishu(i):
            print(f"{i}是质数")
  3. 打印输出标准水仙花数,输出这些水仙花数

    复制代码
    def num1():
     for num in range(100,1000):
        i = num // 100 
        j = num // 10 % 10
        k = num % 10 
        if num == i ** 3 + j ** 3 + k ** 3:
            print ("输出的水仙花数为:%s"%(num))
    num1()
  4. 验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.

    复制代码
    num = int (input("请输入大于9的数字:"))
    if num<100:
        i=num%10
        j=num//10
        sums=i+j
        print(sums)
        if (num-sums)%9==0:
            print("该数能够被9整除,验证成功")
        else:
            print("该数能够被9整除,验证失败")
    elif num>=100 and num<=1000:
            i=(num %100)%10
            j= (num %100)//10
            k=num//100
            sums=i+j+k
            print(sums)
            if (num -sums)/9==0:
                print("该数能够被9整除,验证成功")
            else:
                print('这个数不能被9整除,验证失败')
  5. 一个五位数,若在它的后面写上一个7,得到一个六位数A, 若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此 五位数.

    复制代码
    def num():
        for i in range(10000,100000):
           num1=i * 10 + 7
           num2=i + 700000
           if num2==5*num1:
               print(i)
    num()
  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)+"次可以拿完硬币")
    # 方法二,递归法
    def coin(n):
        if n==1 :
            return 1
        if n==2:
            return 2
        return coin(n-1)+coin(n-2)
    print("最少%s"%(coin(10))+"次可以拿完硬币")
  7. 如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".

    复制代码
    #如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数"
    num = []
    for i in range(2, 101):
    	flag = True
    	for j in range(2, i):
    		if i % j == 0:
    			flag = False
    			break
    	if flag:
    		num.append(i)
    index = 0
    print(num)
    while index < len(num) - 1:
    	first = num[index]
    	second = num[index + 1]
    	if second - first == 2:
    		print(f"{first}和{second}之间是孪生素数")
    	index += 1
  8. 给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

    复制代码
    list = [1,2,3,4,5,6,7,8]
    print("列表",list)
    num_max = list[0]
    num_min = list[0]
    num_and = 0
    for i in range(1,len(list)):
    	if num_max < list[i]:
    		num_max = list[i]
    	elif num_min > list[i]:
    		num_min = list[i]
    	else:
    		pass
    print("最大值:",num_max)
    print("最小值:",num_min)
    for i in list:
    	num_and += i
    print("和:",num_and)
    num_average = num_and/len(list)
    print("平均值:",num_average)
  9. 将list中的重复数据去重,至少使用两种方案

    复制代码
    #1.将列表转换成为集合再转换成为列表
    a = [1,2,3,1,2,8,9,5]
    print("去重前:",a)
    b = list(set(a))
    print("去重后:",b)
     
    
    #2.利用循环进行去重
    j = []
    for i in a:
    	if i not in j:
    		j.append(i)
    print("去重后:",j)
  10. 如何将0-10随机存入列表中

    复制代码
    #如何将0-10随机存入列表中
    import random
    ls = []
    for i in range(10):
    	ls.append(random.randint(0, 10)) 
    print(ls)
相关推荐
郑州光合科技余经理24 分钟前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
2603_9651481128 分钟前
家居百货蓝海:API挖掘高复购率生活小商品
大数据·服务器·人工智能·python·生活
萧瑟余晖37 分钟前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
阿童木写作4 小时前
跨境电商图片翻译工具推荐:批量图片翻译+视频字幕翻译+智能抠图
python·macos·音视频·xcode
cui_ruicheng4 小时前
LangChain 应用开发(十四):Agent 上下文与记忆机制
服务器·人工智能·python·langchain
平头哥~4 小时前
Day 07 _ 那条 1px 的线,为什么在手机上忽粗忽细
前端·css·样式·学习资料
论迹复利4 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
小江的记录本4 小时前
【CSS】CSS 动画:transition、animation、transform、CSS3 新特性(附《思维导图》)
前端·css·安全·spring·前端框架·css3·动画
circuitsosk5 小时前
任务规划器的三种范式对比:ReAct、Plan-and-Execute 与 Tree-of-Thought 在真实业务中的取舍
前端·javascript·python·react.js·llm·ai agent
张宇Joaquin5 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络