python 基础练习题3

目录

1、用户登录注册案例

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

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

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

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

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

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

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

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

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


1、用户登录注册案例

users = {}def register():username = input("请输入用户名: ")if username in users:print("用户名已存在,请重新注册。")returnpassword = input("请输入密码: ")confirm_password = input("请再次输入密码: ")if password != confirm_password:print("两次输入的密码不一致,请重新注册。")returnusers[username] = passwordprint("注册成功!")def login():username = input("请输入用户名: ")password = input("请输入密码: ")if username not in users or users[username] != password:print("用户名或密码错误,请重试。")else:print("登录成功!")def main():while True:print("\n欢迎使用用户系统")print("1. 注册")print("2. 登录")print("3. 退出")choice = input("请选择操作: ")if choice == "1":register()elif choice == "2":login()elif choice == "3":print("感谢使用,再见!")breakelse:print("无效的选择,请重新输入。")if __name__ == "__main__":main()

 

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

def is_prime(num):if num < 2:return Falsefor i in range(2, int(num ** 0.5) + 1):if num % i == 0:return Falsereturn Truefor number in range(50, 151):if is_prime(number):print(number)

 

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

def is_narcissistic(number):n = len(str(number))return number == sum(int(digit) ** n for digit in str(number))for n in range(1, 7):  start = 10 ** (n - 1)end = (10 ** n) - 1for number in range(start, end + 1):if is_narcissistic(number):print(number)

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

def sum_of_digits(number):return sum(int(digit) for digit in str(number))def is_divisible_by_nine(number):sum_digits = sum_of_digits(number)difference = number - sum_digitsreturn difference % 9 == 0for number in range(10, 10000):  if not is_divisible_by_nine(number):print(f"{number} 未能满足条件。")break
else:print("所有大于9的整数都满足条件。")

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

def find_special_number():for num in range(10000, 100000):A = num * 10 + 7B = 70000 + num# 检查B是否是A的五倍if B == 5 * A:return numspecial_number = find_special_number()
print(f"找到的五位数是: {special_number}")

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

def min_picks(coins):coins.sort(reverse=True)picks = 0  # 记录拿硬币的次数while coins:if coins[-1] > 1:coins[-1] -= 2else:coins.pop()  # 如果只剩一个硬币,则拿走它picks += 1  # 记录拿硬币的次数return pickscoin_pile = [10, 8, 5, 3, 27, 99]print(f"最少拿硬币的次数是: {min_picks(coin_pile)}")

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

def is_prime(num):if num < 2:return Falsefor i in range(2, int(num ** 0.5) + 1):if num % i == 0:return Falsereturn Truedef find_twin_primes(limit):twin_primes = []primes = [num for num in range(2, limit) if is_prime(num)]for i in range(len(primes) - 1):if primes[i + 1] - primes[i] == 2:twin_primes.append((primes[i], primes[i + 1]))return twin_primestwin_primes_under_100 = find_twin_primes(100)
print("100以内的所有孪生素数:")
for pair in twin_primes_under_100:print(pair)

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

def find_max(lst):"""找出列表中的最大值"""max_value = lst[0]for num in lst:if num > max_value:max_value = numreturn max_valuedef find_min(lst):"""找出列表中的最小值"""min_value = lst[0]for num in lst:if num < min_value:min_value = numreturn min_valuedef calculate_average(lst):"""计算列表中数值的平均值"""return sum(lst) / len(lst)def calculate_sum(lst):"""计算列表中数值的总和"""return sum(lst)numbers = [10, 20, 30, 40, 50]max_value = find_max(numbers)
print(f"最大值: {max_value}")min_value = find_min(numbers)
print(f"最小值: {min_value}")average = calculate_average(numbers)
print(f"平均值: {average:.2f}")total_sum = calculate_sum(numbers)
print(f"总和: {total_sum}")

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

方法一:
old_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(old_list))
print(unique_list)方法二:
old_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(dict.fromkeys(old_list))
print(unique_list)

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

import randomrandom_numbers = [random.randint(0, 10) for i in range(11)]
print(f"随机数列表: {random_numbers}")

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

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

相关文章

什么是布隆过滤器?

1、什么是布隆过滤器 ​ 布隆过滤器&#xff08;Bloom Filter&#xff09;是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多&#xff0c;缺…

Java习题中 哈希表的理论 有效的字母异位词 快乐数 两数之和

关于 哈希表的理论 今天最大的疑惑好像就是map的复杂度怎么算哈哈,一般n个元素map的复杂度就是On哦,不需要想得太复杂了,冲突的空间并不会造成一个量级,改变n前面的常数不会影响空间复杂度哈提醒&#xff01;熟悉好map,set的API哦 关于 有效的字母异位词 为什么遍历第二个字符…

小白必看的Python基础之函数篇

函数最重要的目的是方便我们重复使用相同的一段程序。 将一些操作隶属于一个函数&#xff0c;以后你想实现相同的操作的时候&#xff0c;只用调用函数名就可以&#xff0c;而不需要重复敲所有的语句。 函数的定义 首先&#xff0c;我们要定义一个函数, 以说明这个函数的功能…

BufferedOutputStream类讲解

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java IO相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

c++ 设计模式 策略模式

最初版本 enum TaxBase {CN_Tax,US_Tax,DE_Tax };class SalesOrder {TaxBase tax; public:double CalcaulateTax(){if (tax CN_Tax){}else if (tax US_Tax){}else if (tax DE_Tax){}} }; 最终版本 class TaxStrategy { public:virtual double Calculate(const Context&am…

代码学习记录21--回溯算法第二天

随想录日记part21 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.16 主要内容&#xff1a;今天主要是结合类型的题目加深对回溯算法的理解&#xff1a;1&#xff1a;组合总和&#xff1b;2&#xff1a;电话号码的字母组合 216.组合总和III17.电话号码的字母…

【Redis知识点总结】(五)——Redis实现分布式锁

Redis知识点总结&#xff08;五&#xff09;——Redis实现分布式锁 setnxsetnx expiresetnx expire lua脚本set nx exset nx ex 随机值set nx ex 随机值 lua脚本set ex nx 随机值 lua脚本 锁续期RedissonRedLock 在Redis的众多应用场景中&#xff0c;分布式锁是Redis比…

解决分布式事务,Seata真香!

年IT寒冬&#xff0c;大厂都裁员或者准备裁员&#xff0c;作为开猿节流主要目标之一&#xff0c;我们更应该时刻保持竞争力。为了抱团取暖&#xff0c;林老师开通了《知识星球》&#xff0c;并邀请我阿里、快手、腾讯等的朋友加入&#xff0c;分享八股文、项目经验、管理经验等…

纯 CSS 实现文字换行环绕效果

实现效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><…

Windows10中配置并使用nvidia-smi

1. 问题 当在window10系统中使用nvidia-smi命令时&#xff1a; 会得到提示&#xff1a;nvidia-smi不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 注&#xff1a;其实安装NVIDIA控制面板时&#xff0c;软件已内置安装了nvidia-smi.exe&#xff0c;我们只需…

如何彻底删除Windows10系统D盘文件夹中的DeliveryOptimization

DeliveryOptimization是传递优化创建的文件夹。Windows 10的Delivery Optimization&#xff08;传递优化&#xff09;功能是用于加快下载Windows更新及其他Microsoft Store应用程序的速度的一种技术。Delivery Optimization使用了一个名为“DeliveryOptimization”&#xff08;…

zookeeper快速入门五:用zookeeper实现服务注册与发现中心

系列&#xff1a; zookeeper快速入门一&#xff1a;zookeeper安装与启动-CSDN博客 zookeeper快速入门二&#xff1a;zookeeper基本概念-CSDN博客 zookeeper快速入门三&#xff1a;zookeeper的基本操作 zookeeper快速入门四&#xff1a;在java客户端中操作zookeeper-CSDN博客…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:TabContent)

仅在Tabs中使用&#xff0c;对应一个切换页签的内容视图。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 说明&#xff1a; 可内置系统组件和自定义组件&#xff0c;支…

运用html相关知识编写导航栏和二级菜单

相关代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><s…

Java代码审计安全篇-CSRF漏洞

前言&#xff1a; 堕落了三个月&#xff0c;现在因为被找实习而困扰&#xff0c;着实自己能力不足&#xff0c;从今天开始 每天沉淀一点点 &#xff0c;准备秋招 加油 注意&#xff1a; 本文章参考qax的网络安全java代码审计和部分师傅审计思路以及webgoat靶场&#xff0c;记录…

[嵌入式系统-40]:龙芯1B 开发学习套件 -10-PMON启动过程start.S详解

目录 一、龙芯向量表与启动程序的入口&#xff08;复位向量&#xff09; 1.1 复位向量&#xff1a; 1.2 代码执行流程 1.3 计算机的南桥 VS 北桥 二、PMON代码执行流程 三、Start.S详解 3.1 CPU初始化时所需要的宏定义 &#xff08;1&#xff09;与CPU相关的一些宏定义…

学习人工智能为啥要掌握高等数学中的线性代数

人工智能为啥要掌握高等数学中的线性代数&#xff0c;这是因为线性代数在人工智能领域扮演着至关重要的角色&#xff0c;其作用体现在以下几个方面&#xff1a; 数据表示&#xff1a; •线性代数中的向量和矩阵是描述和组织数据的重要工具&#xff0c;尤其在机器学习和深度学习…

关于Ubuntu虚拟机识别不了USB设备的解决方案

唉昨天从网上找了一天的解决方案都没法让我的Ubuntu虚拟机识别USB设备&#xff0c;CSDN上有些方法是让从控制面板中进行修复&#xff0c;很多人都是一样的做法链接&#xff0c;那我觉得应该是可以解决的啊&#xff01; 结果我去控制面板执行修复的时候&#xff0c;显示报错“没…

LeetCode每日一题[C++]-2864.最大二进制奇数(贪心)

题目描述 给你一个 二进制 字符串 s &#xff0c;其中至少包含一个 1 。 你必须按某种方式 重新排列 字符串中的位&#xff0c;使得到的二进制数字是可以由该组合生成的 最大二进制奇数 。 以字符串形式&#xff0c;表示并返回可以由给定组合生成的最大二进制奇数。 注意 返…

基于Matlab的图像去雾系统设计,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…