python --- 练习题3

目录

1、猜数字游戏(使用random模块完成) :继上期题目,附加

2、用户登录注册案例

3、求50~150之间的质数是那些?

4、打印输出标准水仙花数,输出这些水仙花数

5、验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.

6、一个五位数,若在它的后面写上一个7,得到一个六位数A, 若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此 五位数.

7、有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币 [10, 8, 5, 3, 27, 99]

8、如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".

9、给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

10、将list中的重复数据去重,至少使用两种方案

11、如何将0-10随机存入列表中


1、猜数字游戏(使用random模块完成) :继上期题目,附加

     猜错三次不可以再猜,即只有三次机会;统计一局猜了多少次,猜了什么数

import random as r #r是别名compute = r.randint(0,100)
#print(compute)                     作弊:为了检验    l = []                             #创建一个列表,用于记录猜的数,长度即次数i = 0                              #记录猜的次数
while True:my = int (input("请输入一个数: "))l.append(my)                          #将玩家猜的数字记录到列表中if my > compute or my < compute:if my > compute :print("您财大了")elif my < compute:print("菜小了")i+=1                              #猜错次数加1if i >=3 :                        #不可以超过三次                      print("您输了,game over")breakelse:print("撒花")#breakchoice = input("是否继续(Y)")if choice == "Y":compute = r.randint(0,100)i = 0                        #猜对了,重启一局中猜的次数重置为0else:print("拜拜")breakfor item in l :print(item,end="  ")                 #遍历列表
print(f'猜了{len(l)}次后结束游戏')        #列表长度即猜的次数

2、用户登录注册案例
people = {}                               #定义一个字典存放用户名和对应密码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 == "2":   #用户需要注册while True:username = input("请输入您的用户名称:")if username in people:username = input ("此用户名已被注册")breakelif username not in people:   people[username]=input('请输入密码: ')print('注册成功!')breakelif choice == "1" : while True: username = input("请输入用户名: ")if username not in people :print("该用户不存在!")if username == "q":                         #退出到初始页面breakelif username in people :password = input("请输入密码: ")i=0while True:if password != people[username]:password = input("密码错误,登录失败: ")i+=1if i>=3:                          #失败超过三次 回到初始页面breakif password == people[username]:print("登录成功\n")                #登录成功进入游戏页面while True:print("\t\t\t英雄商城首页\n")print("~*"*40)print("\t\t\t1.进入英雄超市\n")print("\t\t\t2.休闲小游戏\n")print("\t\t\t3.退出登录\n")choice = input("请选择: ")if choice == "3" :           break        breakbreak                       #回到初始页面elif choice == "3":print("退出登录")breakelse:continue#遍历数据字典,查看用户名和密码(可以多注册几个)
for (key,value) in people.items():print(key,value)

(用户名不存在会返回首页;注册成功) 

(密码输入错误超过三次登录失败返回首页;正确则登录成功,进入下一个界面)

(从最内层页面退出,回到初始界面;可以再一次注册)

(退出页面,数据字典里面有用户名及其对于的密码) 

 

(不可重复注册)

3、求50~150之间的质数是那些?
#求50-150之间的质数
l = []for num in range(50,150):flag = Truefor i in range (2,num):if num % i == 0:flag = False break               #表示一种标识符,如果整出来,它就变错if flag:print(f"{num}是质数",end=" ")l.append(num)else:print(f"{num}不是",end=" ")
print()for item in l :print (item,end="  ")

4、打印输出标准水仙花数,输出这些水仙花数
#水仙花数是指一个数的个位、十位、百位的数字立方和等于原数
l = []
for i in range(100,1000):x=i%10                #个位上的数y=(i%100)//10         #十位上的数  z=i//100              #百位上的数if i == x**3 + y **3 + z **3 :print(x,y,z)l.append(i)for item in l :print(f"{item}是水仙花数")

5、验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
for i in range(10,1000) :flag = Truex = i%10                  #个位的数y = i - x                 #这个数减去个位的数if y %9 != 0 :flag = False          #如何不能被9整除,标识就变falseelse:pass
if flag == False:              #标识变了,就不能被9整除print("验证失败")
else:print("验证成功")           #标识没变证明都可以被9整除

6、一个五位数,若在它的后面写上一个7,得到一个六位数A, 若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此 五位数.
l = []for i in range(10000,100000) :A = i*10 + 7B = i + 7*100000if B == A*5 :l.append(i)for item in l :print(item)

7、有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币 [10, 8, 5, 3, 27, 99]
arr = [10,8,5,3,27,99]count = 0
for i in arr :if i % 2 == 0 :count = i //2elif i % 2 == 1 :count = i // 2 + 1print (f"最少可以{count}次拿完")

8、如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
l = []
for num in range(1,100) :flag = Truefor i in range (2,num):if num % i == 0:flag = False   #表示一种标识符,如果整出来,它就变错break     if flag:l.append(num)#放入字典里
d = {}
for num in l:if (num+2) in l :d[num]=num+2for key,value in d.items():print(key,value)"""
#直接输出
for num in l:if (num+2) in l:print (num,num+2)  """

 

9、给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和
l = [100,97,67,7,3,5,1,40,39]
c = max(l)
d = min(l)
num = len(l)
sum_ = sum(l)
avg = sum_ / num
print(f'最大值为{c},最小值为{d},总和为{sum_},平均值为{avg}')

10、将list中的重复数据去重,至少使用两种方案
list_1 =[1,2,4,7,9,4,7,1,1,]
print("删除重复项前的列表为"+str(list_1))
list_2 =[]#第一种方法  遍历列表for i in list_1 :if i not in list_2 :list_2.append(i)
print("删除重复项后的列表为"+str(list_2))#第二种方法  set法       顺序会改变list_2 = list(set(list_1))
print("删除重复项后的列表为"+str(list_2))#第三种方法      全局函数import builtins
dir(builtins)for i in enumerate(list_1) :list_2.append(i)for i in list_2:print(i)

11、如何将0-10随机存入列表中
import random             #随机l = []                    
while True:n = random.randint(0,10)      #n从0到10随机取if n not in l :               #不重复,就加入列表l.append(n)if len(l) == 11:          #当长度为11,证明0-10所以数字都有break
for j in l :print(j)                       #遍历

今天作业ok!拜拜~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/557480.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE4 面试题整理

1、new与malloc的区别 new&#xff1a; new首先会去调用operator new函数&#xff0c;申请足够的内存&#xff08;大多数底层用malloc实现&#xff09;&#xff0c;然后调用类型的构造函数来初始化变量&#xff0c;最后返回自定义类型的指针&#xff0c;delete先调用析构函数&…

java内存分析工具visualvm

java内存分析工具visualvm 下载地址:https://visualvm.github.io/

位运算第三弹

力扣268.丢失的数字 public static int missingNumber(int[] nums) {int nnums.length;int []retnew int[n1];for(int i1;i<n;i){ret[nums[i-1]];}for(int i0;i<n;i){if(ret[i]0){return i;}}return 0;} 和上一道题&#xff0c;一个性质&#xff0c;用的是底层哈希表的思…

考研数学基础和强化阶段分别怎么做?如何衔接?

大家25年的考研复习策略要做适当的调整 因为根据24年大家考完的反馈&#xff0c;试卷的风格有所改变&#xff0c;总结来说就是&#xff1a; 深挖基础&#xff0c;计算量大&#xff0c;反押题 很多同学都反映&#xff0c;平时做的模拟题&#xff0c;做的练习题感觉都没用&…

各位老板,你需要的工厂数字孪生可视化库在这

各位老板是不是很喜欢下面这种有逼格的大屏,下面介绍一下怎么实现的,保证有所收获。 Cesium是一个开源的WebGL JavaScript库&#xff0c;用于创建高性能的三维地球、地图和虚拟环境。它支持在浏览器中实现高质量的地球模拟&#xff0c;同时提供了丰富的功能特点&#xff0c;使得…

基于Spring Boot+Vue的高校学科竞赛平台

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

无人机/飞控--ArduPilot、PX4学习记录(2)

这是一篇碎碎念&#xff0c;零零碎碎的记录了环境配置过程&#xff0c;仅供本人记录学习历程和参考。(记录的挺乱的&#xff0c;但是文章链接里的博客写的是真好) 本章主要完成的目标&#xff1a; 安装PX4 并 成功运行出3D无人机界面。 参考文章&#xff1a; 搭建PX4环境&…

vm-workstation win10 网络的设置

设置宿主机网络&#xff08;win10&#xff09; 1&#xff0c;在 win10宿主机上为虚拟机设置192.168.6.0/24 的网段 VM-workstation 网络设置 2&#xff0c;vm-workstation 软件设置

Vue响应式原理全解析

前言 大家好&#xff0c;我是程序员蒿里行。浅浅记录一下面试中的高频问题&#xff0c;请你谈一下Vue响应式原理。 必备前置知识&#xff0c;​​Vue2​​官方文档中​​深入响应式原理​​​及​​Vue3​​官方文档中​​深入响应式系统​​。 什么是响应式 响应式本质是当…

python(django)之产品后台管理功能实现

1、添加新项目 在命令行输入以下代码 python manage.py startapp prroduct 2、添加路径和代码结构 在新项目目录下admin.py中加入以代码 from .models import Product class ProductAdmin(admin.ModelAdmin):list_display [product_name, product_desc,producter,created_…

用python的pandas读取excel文件中的数据

一、读取Excel文件 使用pandas的read_excel()方法&#xff0c;可通过文件路径直接读取。注意到&#xff0c;在一个excel文件中有多个sheet&#xff0c;因此&#xff0c;对excel文件的读取实际上是读取指定文件、并同时指定sheet下的数据。可以一次读取一个sheet&#xff0c;也可…

vmare17 安装不可启动的iso镜像系统

由于要测试一个软件&#xff0c;要安装一个Windows11_InsiderPreview_Client_x64_zh-cn_26058.iso 于是在虚拟机里捣鼓一下。但是这个iso好像不能直接启动 这样就无法直接安装了&#xff0c;怎么办呢&#xff0c;可以先用个pe系统引导进去&#xff0c;再在PE系统里安装这个iso…