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)
    
相关推荐
micro201014几秒前
Microsoft Edge 离线安装包制作或获取方法和下载地址分享
前端·edge
爬山算法2 分钟前
Maven(6)如何使用Maven进行项目构建?
java·maven
.生产的驴5 分钟前
Electron Vue框架环境搭建 Vue3环境搭建
java·前端·vue.js·spring boot·后端·electron·ecmascript
awonw8 分钟前
[前端][easyui]easyui select 默认值
前端·javascript·easyui
爱学的小涛13 分钟前
【NIO基础】基于 NIO 中的组件实现对文件的操作(文件编程),FileChannel 详解
java·开发语言·笔记·后端·nio
吹老师个人app编程教学14 分钟前
详解Java中的BIO、NIO、AIO
java·开发语言·nio
爱学的小涛14 分钟前
【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解
java·开发语言·笔记·后端·nio
北极无雪19 分钟前
Spring源码学习:SpringMVC(4)DispatcherServlet请求入口分析
java·开发语言·后端·学习·spring
琴智冰23 分钟前
SpringBoot
java·数据库·spring boot
binqian23 分钟前
【SpringSecurity】基本流程
java·spring