Python程序设计 循环结构(二)

1.斐波那契数列

编写一个能计算斐波那契数列中第x个数的小程序。斐波那契数列(Fibonacci sequence),又称黄金分割数列、 因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。 有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,每个月的兔子数形成的数为斐波那契额数列 在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*),根据提示,在右侧编辑器补充代码,输入x,输出第x个斐波那契数列。 注意:斐波那契数列的第一项和第二项为1

x=eval(input("")) 
#代码开始
def sum1(x):if x == 1 or x == 2:return 1else:return sum1(x-1) + sum1(x-2)for i in range(1,x+1):sum2 = sum1(i)print(sum2)
#代码结束

2.统计一段英文语句中的单词数和句子数

编写一个小程序,输入一段英文短语,统计其中的单词数目和句子数目。要统计词语的数量,则统计当前字符是大写或小写英文字母,而前一个字符是空格或标点符号(句号(.)惊叹号(!)问号(?)逗号(,)分号(;)双引号(""))等的数目。 例如,输入英文短语如下,统计结果为57个单词和3个句子。 提示:对字符串的每个字符ch循环,若ch是句号(.)惊叹号(!)问号(?)时,则表示句子数的变量加一。若ch是大小写英文字母,且前一个字符是指定标点时,表示词语数的变量加一。前一个字符可以用一个变量保存,只要在循环语句的最后将ch赋值给该变量即可。提示:对于第一个字符,可以设置其前一个字符为空格。

x=input()
#代码开始
t=" "
jz = 0
cy = 0
for i in x:if i == "." or i == "?" or i == "!":jz += 1if(i.isalpha() and (t ==" " or t =="." or t=="!" or t=="?" or t=="," or t ==";" or t=="\"")):cy = cy + 1t = i#代码结束
print("单词{}句子{}".format(cy,jz))

3.密码判断

输入用户名和密码,根据密码文件中所记录的用户名和密码信息,判断登录信息是否正确

密码文件的信息如下所示,每行显示逗号分隔的姓名和密码

甲乙,11111111 陈二,76895409 张三,12345678 李四,87654321 王五,88888888 赵六,99999999 欧阳小七,42110198

f1=open("sy5/密码.txt","r",encoding="utf-8")
x=input("用户名")
y=input("密码")
#代码开始
for i in f1:i = i.strip("\n")yhm = i.split(",")[0]mm = i.split(",")[1]if x == yhm and y == mm:print("密码正确")break
else: print("用户名或密码错误")#代码结束

4.通过数列求自然常数e

编写程序,根据近似公式 e≈1+1/(1!)+1/(2!)+1/(3!)+… +1/(n!) 计算 e 的近似值,要求直至最后一项的值小于 1e-7 次方为止

s=1
#代码开始
t = 1
n = 1
m = 1
while(t>1e-7):t = 1 / ns = s + tm = m + 1n = n * m
#代码结束
print("e值为{:.8}".format(s))

5.双倍余额递减法计算固定资产折旧

编写一个使用双倍余额递减法计算固定资产折旧的小程序。

双倍余额递减法进行固定资产折旧的规则:双倍余额递减法是在不考虑固定资产预计净残值的情况下,根据每年年初固定资产净值和双倍的直线法折旧率计算固定资产折旧额的一种方法。它的基本规则是:以固定资产使用年数倒数的2倍作为它的年折旧率,以每年年初的固定资产账面余额作为每年折旧的计算基数,但由于在固定资产折旧的初期和中期时不考虑净残值对折旧的影响,为了防止净残值被提前一起折旧,因此现行会计制度规定,在固定资产使用的最后两年中,折旧计算方法改为平均年限法,即在最后两年将固定资产的账面余额减去净残值后的金额除以2作为最后两年的应计提的折旧。 例:某医院有一台机器设备原价为600000元,预计使用寿命为5年,预计净残值24000元。 年折旧率=2/5=40%

yj=eval(input("原价"))
cz=eval(input("残值"))
n=eval(input("年限"))
#代码开始a = 1 / n * 2
for i in range(1, n+1):if n - i < 2 :s = (yj - cz) / 2else:s = yj * ayj -= sprint("第{:2d}年折旧{:.2f}".format(i,s))
#代码结束

6.销售统计

循环输入商品编号、数量和价格,进行累加。 只到输入商品编号为0000为止。 输出商品种类、数量总计和金额总计。

spbh=input("输入商品代码")
s=0
c=0
sl=0
#代码开始
while(spbh != "0000"):a = input("输入商品价格")b = input("输入商品数量")c = c + 1sl = sl + int(b)s = s + int(a) * int(b)spbh = input("输入商品代码")#代码结束
print("商品种类{}数量总计{}金额总计{:.2f}".format(c,sl,s))

7.投资年限计算

编写一个计算投资年限的小程序 某客户每年年初在银行存入一笔固定金额的钱m,在年底,将本金和利息取出.在第二年年初,将该笔钱与新存入的钱m一起,再存入银行。输入每年存款m、年利率r,再输入用户要得到的金额x,计算该客户需要存放多少年y才能得到需要的金额。 例如,输入存款10000,年利率0.1,金额100000,输出7 输入存款50000,年利率0.05,金额500000,输出8。

m=eval(input("存款"))
r=eval(input("年利率"))
x=eval(input("金额"))
#代码开始
s = 0
n = 0
while(s < x):s = (s + m) * r + s + mn = n + 1
#代码结束
print(n)

8.诗人作品统计

在唐诗.txt文件,如下图所示。每首诗的标题为序号诗人冒号诗名。编写程序,输入诗人姓名,显示该诗人所写的诗的标题,以及作品数,如图所示。 如果该诗人没有作品,显示无作品。

f1=open("sy5//唐诗.txt","r")
x=input("输入作者")
#代码开始
t = True
s = 0
for i in f1:i = i.strip("\n")n = i[3:3 + len(x)]if (n == x):t = Falseprint(i)s = s + 1
if (t == True):print("无作品")
else:print("作品数 %d" % s)
#代码结束

9.python圆周率计算

用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数y为止 注意:不包括最后一项,测试输入 0.0001, 程序输出 3.1414

y=eval(input())
#开始
s = 1
n = 1
t = 1
p = 0
while True:p = p + tn = n + 2s = s * -1t = s / nif abs(t) <= y:breaks = p * 4
#结束
print("{:.4f}".format(s))

10.银行利息计算

某人有资金100000元,他存入银行一年期的大额存款,年利率为5%,一年后又将所有资金转存。若银行利率一直不变,求想获得指定金额的资金,存款至少需要多少年。 测试输入120000 输出4

y=eval(input())
#开始
s = 100000
n = 0
while(1):s = s + s * 0.05n += 1if s >= y:break#结束
print("{:d}".format(n))

11.模体motify查找

部分序列在不同基因组中共有,这种序列我们称为Motif。 事实上基因组中的Motif出现多次,这种情况称为重复。 给出一个长的DNA字符串s,和一个较短的DNA字符串t。 要求找出s中出现t的所有位置。注意位置从0开始计数。 输出t在s中出现的位置,即起始下标。如果有多次匹配,都需要输出。 例如输入 GATATATGCATATACTT ATAT 输出 1 3 9 输入 GATATATGCATATACTT CTAG 输出没有此模体,提示:x.find(y,beg,end) find() 方法检测字符串x中是否包含子字符串y ,如果指定 begin(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串,返回开始的索引值,否则返回-1。未指定begin和end的范围,则默认整个字符串内检索 beg默认为0,end默认为字符长度。

s=input("输入长DNA")
t=input("输入模体")
#代码开始
b = 0
c = 0
for i in range(len(s)):a = s.find(t,i)if a < 0 or b == a:continueelif a > 0 and b!= a:b = ac += 1print(a)if c == 0:        print("没有此模体")#代码结束

12.苹果问题

在宫廷举办的数学竞赛中,斐波那契曾提出过如下的“苹果问题”:一个人经过n道门进入苹果园,摘了许多苹果。离开果园时,给第一个守门人一半苹果加1个;给第二个守门人余下的一半苹果加1个;对其他守门人也是如此这般,最后他带1个苹果离开果园.请问他当初一共摘了多少苹果。 输入n,计算他当初摘的苹果数 例如,输入7,输出384

n=eval(input())
#代码开始
x = 1 
for i in range(1,n+1):x = (x + 1) * 2  
#代码结束
print("苹果数{}".format(x))

13.韩信点兵

相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾(余下的人数)就知道总人数了。 输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。 已知总人数不小于10,不超过100 

a=eval(input("a"))
b=eval(input("b"))
c=eval(input("c"))
#代码开始
for i in range(10,101):if i % 3 == a and i % 5 == b and i % 7 == c:print(i)break
else:print("无解")
#代码结束

14.电商促销循环计算

某电商双11促销活动。消费金额每满200元减免30元,上不封顶。 若用户是vip,则对优惠后的金额再享受95折优惠。 编写程序,用户可反复输入消费金额和是否vip(y表示是n表示否),计算并显示实际付款和优惠金额,直到用户输入消费金额0为止。(显示保留两位小数)

x=eval(input("消费金额"))
#代码开始while True:if x == 0:breaks = xif x >= 200:a = x // 200s = x - 30 * asf = input("是否vip")if sf == "y":s = s * 0.95else:s = sprint("实际付款{:.2f}优惠{:.2f}".format(s,x-s))x = eval(input("消费金额"))#代码结束

15.分解质因数

把一个合数用质因数相乘的形式表示出来,叫做分解质因数。 例如 54=2*3*3*3 80=2*2*2*2*5 输入一个合数,将其显示为质因数相乘的形式 例如,输入150 显示 150=2*3*5*5

n=eval(input())
#代码开始
m = n
i = 2
s = 1
print("%d=" % n, end="")
while True:if m%i==0:m = m / is = s * iprint("%d" % i, end="")if s == n:print()else:print("*",end="")else:i += 1if i == n + 1:break#代码结束

16.银行信息查询

编写一个能查询银行信息的小程序。 银行信息.csv文件如下所示:每行显示银行的编号,名称,省份,城市和类别信息。

编写程序,输入银行的名称和城市,将该城市的包含查询关键字的银行信息显示出来,并显示序号。最后显示银行数目。 若没有符合条件的数据,显示无符合条件的银行。 注意; 模糊查询即可(该行包含城市名和银行的名称即显示) 序号和银行信息之间有空格

f1=open("lx2//银行信息.csv","r",encoding="utf8")
x=input("银行名称")
y=input("城市")
#代码开始
n = 1
for i in f1:  i = i.strip("\n").split(",") if len(i[3]) > 3:  if x == i[4][-4:] and y == i[3][0:-1]:   print(n, end=" ")print(i[0],i[1],i[2],i[3],i[4],sep=",")n = n + 1elif x == i[4][-4:] and y == i[3][0:2]:print(n,end=" ")print(i[0],i[1],i[2],i[3],i[4],sep=",")   n = n + 1          else:if x ==i[4][-4:] and y == i[3]:print(n,end=" ")print(i[0],i[1],i[2],i[3],i[4],sep=",")n = n + 1if n-1 == 0:print("无符合条件的银行")  
else:         print("共%d个银行" % (n - 1))#代码结束 
f1.close()

17.区县信息查询

编写一个能查询湖南省的区县信息的小程序。 湖南区县.csv文件如下所示:每行显示城市名称、区县名称和街道乡镇名称

编写程序,输入区县名称,将该区县的每行信息显示出来,并显示序号。最后显示该区县的街道的数目、乡的数目和镇的数目 (提示:根据该行结尾的字符判断该行为街道、乡或镇。注意每行结尾有换行符) 若没有符合条件的数据,显示没有此区县信息 注意; 序号和信息之间有空格

f1=open("lx2//湖南区县.csv","r",encoding="utf8")
s=input("区县名称")
#代码开始
n = 1
count1 = 0
count2 = 0
count3 = 0
c = 0
for i in f1:i = i.strip("\n").split(",")if s == i[1]:c += 1print(n,end=" ")print(i[0],i[1],i[2],sep=",")n = n + 1if i[2][-1] == "道":count1 += 1elif i[2][-1] == "乡":count2 += 1elif i[2][-1] == "镇":count3 += 1
if c > 0:print("{}个街道{}个乡{}个镇".format(count1,count2,count3))
else:print("没有此区县信息")
#代码结束
f1.close()

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

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

相关文章

Redis入门到实战-第二十弹

Redis实战热身Time series篇 完整命令参考官网 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的&#xff08;采用BSD许可证&#xff09;&#xff0c;用作数据库、缓存、消息代…

MTransE阅读笔记

Multilingual Knowledge Graph Embeddings for Cross-lingual Knowledge Alignment 用于交叉知识对齐的多语言知识图谱嵌入(MTransE) Abstract 最近的许多工作已经证明了知识图谱嵌入在完成单语知识图谱方面的好处。由于相关的知识库是用几种不同的语言构建的&#xff0c;因…

蓝桥杯每日一题(floyd算法)

4074 铁路与公路 如果两个城市之间有铁路t11&#xff0c;公路就会t2>1,没铁路的时候t1>1,公路t21。也就是公路铁路永远都不会相等。我们只需要计算通过公路和铁路从1到n最大的那个即可。 floyd是直接在数组上更新距离。不需要新建dis数组。另外一定要记得把邻接矩阵初始…

编程语言|C语言——C语言变量的存储方式

前言 变量是程序中数据的存储空间的抽象。变量的存储方式可分为静态存储和动态存储两种。 静态存储变量通常是在程序编译时就分配一定的存储空间并一直保持不变&#xff0c;直至整个程序结束。在上一部分中介绍的全局变量的存储方式即属于此类存储方式。 动态存储变量是在程序执…

Wireshark 抓包工具与长ping工具pinginfoview使用,安装包

一、Wireshark使用 打开软件&#xff0c;选择以太网 1、时间设置时间显示格式 这个时间戳不易直观&#xff0c;我们修改 2、抓包使用的命令 1&#xff09;IP地址过滤 ip.addr192.168.1.114 //筛选出源IP或者目的IP地址是192.168.1.114的全部数据包。 ip.sr…

AcWing 2816. 判断子序列(双指针)

—>原题链接 思路: 1.首先定义两个指针 i 和 j 分别指向x和y的起始位置 2.开始循环遍历x和y数组,如果 x[i] y[j] 那么i,否则j,遍历到最后in那么就说明x是y的子序列 图解 上代码: #include <iostream> using namespace std;const int N 111111;int n,m,x[N],y[N]…

2024年黑龙江省安全员C证证模拟考试题库及黑龙江省安全员C证理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年黑龙江省安全员C证证模拟考试题库及黑龙江省安全员C证理论考试试题是由安全生产模拟考试一点通提供&#xff0c;黑龙江省安全员C证证模拟考试题库是根据黑龙江省安全员C证最新版教材&#xff0c;黑龙江省安全员…

Git命令及GUI基本操作

不习惯使用Git命令的可移步下面Git GUI基本操作 Git 常用命令 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看本地所有分支 git commit -am "init" 提交并且加注释 git remote add orig…

实用攻略:选择最佳项目管理软件!适合远程团队使用!

2019年新冠疫情爆发&#xff0c;这场全球范围的大流行病不仅对经济构成威胁&#xff0c;还引发了大家对经济衰退的担忧。许多先进企业和组织立即转变思路通过远程办公的方式开展工作。本文为大家介绍适合远程团队的项目管理软件&#xff0c;项目管理软件选型指南。 现实中&…

尚宝罗邀您参观2024第13届生物发酵展

参展企业介绍 尚宝罗江苏节能科技股份有限公司坐落于扬州市的北大门素有“中国荷藕之乡”、“中国生态示范县”---宝应。这里环境优美&#xff0c;气候宜人&#xff0c;交通十分便利。 尚宝罗公司占地面积36000平方米,建筑面积15800平方米。公司拥有大型加工设备60台套,精密加…

MySQL数据库高阶语句②

目录 一.子查询与多表查询 1.子查询 2.update子查询 3.多表查询 4.delete子查询 5.exists关键字也用于子查询 6.结果集 二.MySQL视图 1.定义 2.作用场景 3.视图与表的区别与联系 &#xff08;1&#xff09;区别 ①视图是已经编译好的sql语句。而表不是 ②视图没有…

Pytorch入门实战 P4-猴痘图片,精确度提升

目录 一、前言&#xff1a; 二、前期准备&#xff1a; 1、设备查看 2、导入收集到的数据集 3、数据预处理 4、划分数据集&#xff08;8:2&#xff09; 5、加载数据集 三、搭建神经网络 四、训练模型 1、设置超参数 2、编写训练函数 3、编写测试函数 4、正式训练 …

【C++初阶】之类和对象(下)

【C初阶】之类和对象&#xff08;下&#xff09; ✍ 再谈构造函数&#x1f3c4; 初始化列表的引入&#x1f498; 初始化列表的语法&#x1f498; 初始化列表初始化元素的顺序 &#x1f3c4; explicit关键字 ✍ Static成员&#x1f3c4; C语言中的静态变量&#x1f3c4; C中的静…

Linux(3)软件安装-Centos 8.1安装-硬盘分区方案对比-linux上运行jar包-File上传下载

四、软件安装 1、Centos 8.1安装 1.1 安装过程 1、下载 CentOS 8.1 ISO 镜像文件 访问 CentOS 官方网站的下载页面。选择适当的版本&#xff0c;例如 CentOS Linux 8.1 (Linux Kernel 5.10.0-36)。根据您的硬件架构下载对应的 ISO 镜像文件&#xff08;如 CentOS-8.1-x86_6…

vue3全局引入element-plus使用Message教程

文章目录 安装引入 Element Plus和组件样式示例注意安装与引入&#xff1a;按需引入&#xff1a;API 使用&#xff1a;样式问题&#xff1a;组件上下文&#xff1a;版本兼容性&#xff1a;错误处理&#xff1a; 这是 Element UI 的 Vue 3 版本。ElMessage 是 Element Plus 中的…

2024上半年软考软件评测师报名流程及注意事项

2024年5月软考软件评测师报名入口&#xff1a; 中国计算机技术职业资格网&#xff08;http://www.ruankao.org.cn/&#xff09; 2024年软考报名时间暂未公布&#xff0c;考试时间上半年为5月25日到28日&#xff0c;下半年考试时间为11月9日到12日。不想错过考试最新消息的考友…

如何用Flask中的Blueprints构建大型Web应用

本文分享自华为云社区《构建大型Web应用Flask中的Blueprints指南》&#xff0c;作者&#xff1a; 柠檬味拥抱。 什么是Blueprints&#xff1f; 什么是Blueprints&#xff1f; Blueprints是Flask中的一种模式&#xff0c;用于将应用程序分解为可重用的模块。每个蓝图实际上是…

大型网站集群管理负载均衡

课程介绍 结合企业大规模应用&#xff0c;解决应用高并发问题&#xff0c;解决单节点故障问题&#xff0c;缓存数据库的应用。学完掌握知识点&#xff1a;企业应用实现四七层负载均衡&#xff0c;以及Nginx等应用的高可用性&#xff0c;Redis缓存数据库的部署应用以及高可用方…

Mongodb入门到入土,安装到实战,外包半年学习的成果

这是我参与「第四届青训营 」笔记创作活动的的第27天&#xff0c;今天主要记录前端进阶必须掌握内容Mongodb数据库,从搭建环境到运行数据库,然后使用MongodB; 一、文章内容 数据库基础知识关系型数据库和非关系型数据库为什么学习Mongodb数据库环境搭建及运行MongodbMongodb命…

Swift 周报 第四十八期

文章目录 前言新闻和社区苹果突然不造车了&#xff0c;雷军&#xff1a;非常震惊&#xff01;分析师&#xff1a;马斯克或是最大赢家你会爱上的开发者活动 提案通过的提案正在审查的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组自主整理周报的第四十八期…