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.mzph.cn/news/776595.shtml

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

相关文章

Sublime for Mac 使用插件Terminus

1. 快捷键打开命令面板 commandshiftp2. 选择 Package Control: Install Package&#xff0c;然后会出现安装包的列表 3. 在安装终端插件前&#xff0c;我们先装个汉化包&#xff0c;ChineseLocallization&#xff0c;安装完重启 4. 输入 terminus&#xff0c;选择第一个&am…

【C++】从C到C++、从面向过程到面向对象(类与对象)

文章目录 C入门知识C与C的关系1. 类的引入&#xff1a;从结构体到类2. 类的声明和定义3. 类的作用域4. 类的访问限定符5. 面向对象特性之一&#xff1a;封装6. 类的实例化&#xff1a;对象7. 计算类对象的内存大小8. 成员函数中暗藏的this指针9. 类的六个默认生成的成员函数9.1…

iptables添加端口映射,k8s主机查询不到端口但能访问。

研究原因&#xff1a;k8s内一台主机使用命令查询没有80端口。但通过浏览器访问又能访问到服务。 查询了资料是使用了hostport方式暴露pod端口。cni调用iptables增加了DNAT规则。访问时流量先经过iptables直接被NAT到具体服务去了。 链接: K8s罪魁祸首之"HostPort劫持了我…

MySql实战--事务到底是隔离的还是不隔离的

第3篇文章和你讲事务隔离级别的时候提到过&#xff0c;如果是可重复读隔离级别&#xff0c;事务T启动的时候会创建一个视图read-view&#xff0c;之后事务T执行期间&#xff0c;即使有其他事务修改了数据&#xff0c;事务T看到的仍然跟在启动时看到的一样。也就是说&#xff0c…

外贸资讯 | 你看不上的邻居1-2月从中国进口额猛增

你看不上的邻居1-2月进口额猛增 被你猜对了&#xff0c;是印度 先是在俄罗斯最近的新闻报道里说&#xff0c;1月份中国成为印度主要贸易伙伴&#xff1a;两国贸易额增长16%&#xff0c;达到105亿美元。 然后去查了印度海关数据&#xff0c;也是中国排在第一&#xff0c;有意…

Stable Diffusion XL之核心基础内容

Stable Diffusion XL之核心基础内容 一. Stable Diffusion XL核心基础内容1.1 Stable Diffusion XL的主要优化1.2 SDXL整体架构初识1.3 VAE模型1.VAE基本介绍2. VAE基本模型结构3.VAE的训练 1.4 U-Net模型&#xff08;Base部分&#xff09;1. 十四个基本模块概述2. SDXL_Spatia…

SwiftUI Release 引入的辅助焦点管理

文章目录 前言使用 FocusState 属性包装器高级技巧&#xff1a;专用辅助技术可聚焦字段的高级用法优化体验运行截图总结 前言 SwiftUI Release 引入了强大的新功能&#xff0c;其中之一是辅助焦点管理。 这个新功能使得在SwiftUI中处理辅助技术&#xff08;如 VoiceOver 和 S…

百度谷歌301强引蜘蛛池效果怎么样

301强引蜘蛛池效果怎么样 本文 虚良SEO 原创&#xff0c;转载保留链接&#xff01;网址&#xff1a;百度谷歌301强引蜘蛛池效果怎么样 - 虚良SEO 随着搜索引擎优化&#xff08;SEO&#xff09;技术的发展&#xff0c;越来越多的网站开始采用蜘蛛池技术来提高网站的排名和流量。…

关于Kubernetes-v1.23.6-资源调度-StatefulSet-OnDelete当删除的时候才更新

前面提到的普通的滚动更新&#xff0c;都是修改完sts立即就会发生更新操作 而还有一种更新的策略为&#xff0c; OnDelete&#xff0c;即只有在 pod 被删除时会进行更新操作 还是先看一下web这个sts的当前更新策略如下&#xff1a; 这里我们修改&#xff0c;更新策略&#xf…

【创作纪念日】1024回忆录

不知不觉中&#xff0c;从创作第一篇文章到现在&#xff0c;已经1024天了&#xff0c;两年多的时间里&#xff0c;已经从硕士到博士了&#xff0c;1024&#xff0c;对于程序员来说&#xff0c;是个特别的数字吧&#xff0c;在此回忆与记录一下这些美好的经历吧。 缘起 很早以前…

UE5C++学习(四)--- SaveGame类存储和加载数据

上一篇说到使用数据表读取数据&#xff0c;如果我开始玩游戏之后&#xff0c;被怪物打了失去了一部分血量&#xff0c;这个时候我想退出游戏&#xff0c;当我再次进入的时候&#xff0c;希望仍然保持被怪物打之后的血量&#xff0c;而不是重新读取了数据表&#xff0c;这个时候…

【动态规划】【数学方法】Leetcode 343. 整数拆分

【动态规划】【数学方法】Leetcode 343. 整数拆分 解法 动态规划解法 数学 每次拆成n个3&#xff0c;如果剩下是4&#xff0c;则保留4&#xff0c;然后相乘 ---------------&#x1f388;&#x1f388;343. 整数拆分 题目链接&#x1f388;&#x1f388;------------------- …

重构销售话术和知识库,容联云找到了大模型的“钉子”

科技云报道原创。 从ChatGPT诞生起&#xff0c;大模型在营销、客服等场景的落地就被予以众望。然而在经历了一年多的“百模大战”洗礼之后&#xff0c;人们发现无论是算力成本还是内容生成的安全合规问题&#xff0c;都让大模型很难直接应用于机器与人对话的实际业务中。 这其…

常用的苹果应用商店上架工具推荐

摘要 移动应用app上架是开发者关注的重要环节&#xff0c;但常常会面临审核不通过等问题。为帮助开发者顺利完成上架工作&#xff0c;各种辅助工具应运而生。本文探讨移动应用app上架原理、常见辅助工具功能及其作用&#xff0c;最终指出合理使用工具的重要性。 引言 移动应…

牛客题霸-SQL篇(刷题记录三)

本文基于前段时间学习总结的 MySQL 相关的查询语法&#xff0c;在牛客网找了相应的 MySQL 题目进行练习&#xff0c;以便加强对于 MySQL 查询语法的理解和应用。 由于涉及到的数据库表较多&#xff0c;因此本文不再展示&#xff0c;只提供 MySQL 代码与示例输出。 以下内容是…

git stash代码pop stash后误删找回

如题&#xff0c;git stash了代码&#xff0c;点了pop stash后&#xff0c;revert了改动。是可以找回的。 操作步骤&#xff1a; 使用 git stash pop 其实并没有真正地将文件删掉的&#xff0c;而是删除引用而已&#xff0c;因此我们可以使用 git fsck 命令进行找回&#xff…

php 快速入门(一)

一、配置系统环境 1.1 安装软件 1、安装php的开发软件&#xff1a;phpstorm 在这个软件中写代码 2、安装php的运行软件&#xff1a;phpstduy 写好的php程序需要放到phpstduy中&#xff0c;用户才能访问和测试 安装过程注意事项&#xff1a;安装的路径中不能有空格和中文字符&…

彻底理解 IO 多路复用!

在讲解该技术之前&#xff0c;我们需要预习一下文件以及文件描述符。 什么是文件 程序员使用I/O最终都逃不过文件这个概念。 在Linux世界中文件是一个很简单的概念&#xff0c;作为程序员我们只需要将其理解为一个N byte的序列就可以了&#xff1a; b1, b2, b3, b4, ......…

基于视图能力的县域治理视频基座数字化、智慧化解决方案

一、方案背景 县域治理方案是我国地方治理体系的重要组成部分&#xff0c;对于促进县域经济社会发展、维护社会稳定、推进全面深化改革具有重要意义。随着科技的不断进步&#xff0c;视频监管已经成为了现代社会治理的重要手段之一。县域治理视频监管方案是通过视频监控、数据…

C语言中常用的文件操作

本文将介绍常用的关于文件操作函数&#xff0c;如fopen,fclose,fread,fwrite,feek,ftell,rewind以及feof和ferror等文件操作操作函数&#xff0c;还介绍一些用于所有输入输出流的函数如fgetc,fputc,fgets,fputs,fprintf,fscanf等函数&#xff0c;还介绍了sscanf,sprintf函数,fe…