【Python算法】算法练习(一)

❤️博客主页 iknow181
🔥系列专栏 Python、JavaSE、JavaWeb、CCNP
🎉欢迎大家点赞👍收藏⭐评论✍


在这里插入图片描述

目录

1、输出n以内的质数

2、求n以内最大的m个质数的和,并打印这些质数以及它们的和

方法一

方法二

3、将字符串里的大小写互转

4、使用蒙特卡洛方法计算圆周率

5、给定行、列数之后生成二维数组,如下所示:

方法一:用列表

方法二:直接加

6、制作一个简单的两位整数加减法试卷生成模板


1、输出n以内的质数

n = int(input('请输入n:'))
for i in range(2, n):for j in range(2, i):if i % j == 0:breakelse:print(i,end=' ')

2、求n以内最大的m个质数的和,并打印这些质数以及它们的和

方法一

n = int(input('请输入n:'))
m = int(input('请输入m:'))
sum1 = 0
list1 = []
for i in range(2,n):for j in range(2,i):if i % j == 0:breakelse:list1.append(i)
count = len(list1)
star = count - m
if m < count:while star < count:print(list1[star])sum1 += list1[star]star += 1print(sum1)
else:print(f'{m}太多了,{n}以内最多有{count}个质数,请重新输入!')

方法二

n = int(input('请输入n:'))
m = int(input('请输入m:'))
print(f'{n}以内最大的{m}个质数:', end=" ")
sum1 = 0
count = 0
num = n
while count < m:for j in range(2, num):if num % j == 0:breakelse:print(num, end=' ')sum1 += numcount += 1num -= 1
print(f'\n这些质数和是:{sum1}')

3、将字符串里的大小写互转

ord()可将英文字母转换成ASC码的数字,小写和大写的英文字母之间相差32
chr()可将ASC码的数字转换成英文字母
例如:输入字符串"HEllO WorLD",将这个字符串中每个字母的大小写互转

str1 = input('请输入:')
print(f'输入:{str1}')
print(f'输出:', end=' ')
for i in range(len(str1)):if str1[i] >= 'A' and str1[i] <= 'Z':print(chr(ord(str1[i]) + 32), end=' ')elif str1[i] >= 'a' and str1[i] <= 'z':print(chr(ord(str1[i]) - 32), end=' ')else:print(str1[i],end=' ')

4、使用蒙特卡洛方法计算圆周率

计算过程如下:
在边长为2的正方形里,绘制一个半径为1的圆,然后模拟向正方形里随机放置豆子的过程,豆子不
能重叠,假设投进圆里的次数为:n,总的投掷次数为N
圆周率(pi)约等于4*n/N(正方形的面积为4,圆的面积为pi*r^2,两者相除,即可得到前面的
公式)

建模思想!

import random
while True:N = int(input('您要投多少次:'))n = 0count = 0while count < N:x = random.uniform(-1, 1)y = random.uniform(-1, 1)d = ((x ** 2) + (y ** 2)) ** (1 / 2)if d >= 0 and d <= 1:n += 1count += 1pi = 4 * n / Nprint(f'圆周率pi的值大约为:{pi}')con = input("continue(y/n):")if con.lower() == 'n':break

5、给定行、列数之后生成二维数组,如下所示:

01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

方法一:用列表

n = int(input('请输入行:'))
m = int(input('请输入列:'))
nm = n * m  # 最大数
length = len(str(nm))  # 看最大是几位数
star = 1  # 初始值
for i in range(n):for j in range(m):length1 = len(str(star))  # 当前数字的位数length2 = length - length1  # 当前数字前补零的个数starlist = [str(star)]count = 0while count < length2:starlist.insert(0, '0')count += 1starstr = ''.join(starlist)print(starstr, end=' ')star += 1print()

方法二:直接加

n = int(input('请输入行:'))
m = int(input('请输入列:'))
nm = n * m  # 最大数
star = 1  # 初始值
for i in range(n):for j in range(m):print('0' * (len(str(nm)) - len(str(star))) + str(star), end=' ')print(str(star).zfill(len(str(nm))), end=' ')star += 1print()

6、制作一个简单的两位整数加减法试卷生成模板

​​每次生成10道题,要求学生回答完毕后,给出得分,并标明哪些题目回答错误。同时询问学生是否继续进行测试,回答no即退出,回答yes即继续测试。

例如考试题目:
1. 10 + 20 =
2. 30 - 15 =
3. 45 + 70 =
....
10. 50 - 22 =
正确答案:
1. 10 + 20 = 20
2. 30 - 15 = 15
3. 45 + 70 = 115
....
10. 50 - 22 = 28
您的得分:90
您做错的题目是:
第1道
是否继续测试(yes/no)
import random
while True:print('考试题目:')worrylist = []  # 错题编号testlist = []  # 题目列表scores = 100  # 满分100分for i in range(10):a = random.randint(10,99)b = random.randint(10,99)c = random.choice('+-')problem = f'{i + 1}. {a} {c} {b} = '  # 题目problem1 = f'{a}{c}{b}'  # 式子d1 = int(input(problem))  # 输入的答案d2 = eval(problem1)  # 正确答案testlist.append(f'{problem}{d2}')if d1 != d2:worrylist.append(i + 1)scores -= 10print('正确答案:')for j in testlist:print(j)print(f'您的得分:{scores}')print('您做错的题目是:')for k in worrylist:print(f'第{k}道')con = input('是否继续测试(yes/no):')if con.lower() == 'no':break

在这里插入图片描述

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

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

相关文章

GaussDB数据库管理系统介绍

1.GaussDB的发展 2.GaussDB的生态 内部&#xff1a; 云化自动化方案。通过数据库运行基础设施的云化将DBA(数据库管理员)和运维人员的日常工作 自动化。外部&#xff1a; 采用与数据库周边生态伙伴对接与认证的生态连接融合方案&#xff0c;解决开发者/DBA难获取、应用难对接等…

2023年【安全员-C证】报名考试及安全员-C证考试内容

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-C证报名考试根据新安全员-C证考试大纲要求&#xff0c;安全生产模拟考试一点通将安全员-C证模拟考试试题进行汇编&#xff0c;组成一套安全员-C证全真模拟考试试题&#xff0c;学员可通过安全员-C证考试内容全…

[UDS] --- CommunicationControl 0x28

1 0x28功能描述 根据ISO14119-1标准中所述&#xff0c;诊断服务28服务主要用于网络中的报文发送与接受&#xff0c;比如控制应用报文的发送与接收&#xff0c;又或是控制网络管理报文的发送与接收&#xff0c;以便满足一定场景下的应用需求。 2 0x28应用场景 一般而言&#…

<多线程章节八> 单例模式中的饿汉模式与懒汉模式的讲解,以及懒汉模式中容易引起的Bug

&#x1f490;专栏导读 本篇文章收录于多线程&#xff0c;也欢迎翻阅博主的其他文章&#xff0c;可能也会让你有不一样的收获&#x1f604; &#x1f337;JavaSE &#x1f342;多线程 &#x1f33e;数据结构 文章目录 &#x1f490;专栏导读&#x1f4a1;饿汉模式&#x1f4a1;…

【算法练习Day32】 斐波那契数爬楼梯使用最小花费爬楼梯

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 斐波那契数爬楼梯使用最小花…

Vue的动画与过度

一、Vue的动画效果 &#xff08;一&#xff09;编写CSS关键帧动画 keyframes show{from{transform: translateX(-100%);}to{transform: translateX(0px);} } &#xff08;二&#xff09;定义动画效果 .v-enter-active { animation: 配置项 } // 显示动画 .v-leave-active…

洛谷 P5717 三角形分类 C++代码

目录 前言 题目描述 思路点拨 优化 AC代码 AC截图 结尾 前言 马上就要突破10000浏览量了&#xff0c;再写一篇加加油&#xff01; 图片截图时间:2023.10.25.20:23 题目描述 网址&#xff1a;【深基3.习8】三角形分类 - 洛谷 思路点拨 这道题是给定三条边的长度&#…

一天收入500元的货拉拉运费差项目靠谱吗?

最近的货拉拉运费差项目有点火呀&#xff01;收费也不低&#xff0c;1680-16980的比比皆是。 这个项目去年我就在某些平台看到过&#xff0c;今天就跟大家详细聊聊这个项目&#xff0c;想入坑的不妨先看看这篇文章。 一&#xff1a;项目原理 有人叫它货拉拉搬砖项目&#xf…

骨传导耳机怎么佩戴,骨传导蓝牙耳机什么牌子好用

市面上的传统耳机一直以来都存在一些问题&#xff0c;比如长时间佩戴会导致耳朵不适&#xff0c;或者声音过大可能会伤害到耳膜。但是&#xff0c;现在有一种独特的耳机正在迅速走红&#xff0c;它被称为骨传导耳机&#xff0c;而骨传导耳机是怎么佩戴的呢&#xff0c;它在佩戴…

勒索病毒最新变种.locked勒索病毒来袭,如何恢复受感染的数据?

导言&#xff1a; 在当今数字化时代&#xff0c;网络威胁呈指数级增长&#xff0c;而.locked勒索病毒已经成为网络犯罪分子的犯罪工具之一。这种病毒以其高度破坏性和高级加密技术而著名&#xff0c;将用户的重要数据文件锁定&#xff0c;然后要求支付赎金以解锁这些文件。在本…

window安装es服务及删除

elasticsearch-service.bat install 删除es服务&#xff0c;先停止es服务运行&#xff0c;管理员cmd模式&#xff0c;sc delete "elasticsearch-service-x64"

gRPC初体验

一、gRPC简介 1、RPC是远程过程调用的简称&#xff0c;在分布式系统中&#xff0c;客户端可以像调用本地对象一样调用远程机器上服务端对象&#xff0c;用于系统的垂直拆分&#xff0c;常见的JAVA RPC框架有JAVA自带的RMI、基于Http的Hessian、阿里基于TCP的Dubbo、淘宝基于TC…

Kotlin中使用ViewBinding绑定控件并添加点击事件

文章目录 效果1、加入依赖2、与控件进行绑定在 Activity 中使用视图绑定 3、监听控件 效果 实现源码 class MainActivity : AppCompatActivity() {lateinit var binding:ActivityMainBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstan…

云安全—K8s APi Server 6443 攻击面

0x00 前言 在未授权的一文中&#xff0c;详细描述了k8s api中的8080端口未授权的问题&#xff0c;那么本篇主要来说6443端口的利用。 0x01 API连接攻击面 1.匿名用户访问 匿名开放方式&#xff1a;kubectl create clusterrolebinding cluster-system-anonymous --clusterro…

React Hooks 实战案例

文章目录 一、React Hooks 简介二、React Hooks 的基本用法1. 使用 useState 创建状态2. 使用 useEffect 添加副作用 三、React Hooks 的常见问题1. 循环引用问题2. 副作用问题 四、React Hooks 实战案例1. 使用 useReducer 和 Redux&#xff1a;2. 使用 useContext&#xff1a…

暴力递归转动态规划(十一)

题目1&#xff1a; 这篇帖子中有多道题&#xff0c;由浅入深。 arr是货币数组&#xff0c;其中的值都是正数。再给定一个正数aim。每个值都认为是一张货币&#xff0c;即便是值相同的货币也认为每一张都是不同的&#xff0c;返回组成aim的方法数。 例如&#xff1a;arr {1,1,1…

【不用开发板学习STM32】可设置电子时钟

• 实验环境 工程文件下载链接&#xff01;https://mp.weixin.qq.com/s?__bizMzU2OTc4ODA4OA&mid2247551559&idx1&sn721b9238bc58936ac41e6ad1b9988554&chksmfcfb1990cb8c9086490b11c05bc76c08da15c71caa38715a047c49d36f25a149920aee482f3e&token204641…

SAP SPAD新建打印纸张

SAP SPAD新建打印纸张 1.事务代码SPAD 2.完全管理&#xff0d;设备类型&#xff0d;页格式-显示(创建格式页) 3.按标准A4纸张为模板参考创建。同一个纸张纵向/横向各创建1次(创建格式页) 4.完全管理&#xff0d;设备类型&#xff0d;格式类型-显示(创建格式类型&#xff0…

10、SpringCloud -- 优化重复下单

目录 优化重复下单问题的产生&#xff1a;需求&#xff1a;思路&#xff1a;代码&#xff1a;测试&#xff1a; 优化重复下单 之前超卖、重复下单的解决方式 问题的产生&#xff1a; 比如这个秒杀活动没人去玩&#xff0c;只有一个人去参与秒杀&#xff0c;然后秒杀成功了&a…

vue+Fullcalendar

vueFullcalendar: vueFullcalendar项目代码https://gitee.com/Oyxgen404/vue--fullcalendar.git