Python循环练习(刚学过循环的新手或者期末考试复习必看)

news2024/11/8 7:56:15

这个世界并不是掌握在那些嘲笑者的手中,而恰恰掌握在能够经受得住嘲笑与批评,仍不断往前走的人手中 

文章目录

1.输入一个整数n,输出从1到n的数字

2.请输入一个整数n,输出n!的值

3.请输入一个正整数n,计算m=1-2+3-4...+(-)n

4.字符串统计,输入一个字符串,输出数字字符的个数

5.字符分类统计,输入一个字符串,分别统计字母、数字、下划线、其他字符的统计结果

6.打印菱形

7.打印水仙花数


前言:

本文中的几道题都用了两种方法,代码自取即可 

大家好,我是纪宁

今天我们用7道练习题来巩固python的循环部分,这是目前python基础的学习进度

关于for---in循环和while循环的强调

要注意的点:

  • for循环中,如果要对n个数进行操作,且要循环n次,当range 函数的第一个参数是1时,第二个参数必须是n+1,否则就不能对第n个数进行操作
  • while循环每循环一次要逐渐逼近循环终止条件

1.输入一个整数n,输出从1到n的数字

  此题不是很难,直接用for---in或while控制循环次数或者控制条件即可

#输出从1到n的数字
#for----in
n=int(input("请输入一个整数n:"))
for i in range(1,n+1,1):
    print(i)

#while
n=int(input("请输入一个整数:"))
i=1
while i<=n:
    print(i)
    i+=1

2.请输入一个整数n,输出n!的值

  此题要在循环外面定义一个变量,且初值必须赋为1,因为后面要对他进行自乘运算,用来存放阶乘n的值


#请输入一个整数n,输出n!的值
#while
n=int(input("请输入一个整数:"))
ret=1
i=1
while i<=n:
    ret*=i
    i+=1
print(ret)

#for----in
n=int(input("请输入一个整数:"))
ret=1
for i in range(1,n+1,1):
    ret*=i
print(ret)

3.请输入一个正整数n,计算m=1-2+3-4...+(-)n

  此题的重点是找规律:

  •   奇数项为正,偶数项为负,且绝对值每次都要加1
  •   那么只需要在每次往sum上面加的时候,判断一下奇偶即可:是偶数就乘  -1
#输入一个正整数n,计算m=1-2+3-4...+(-)n
#while
n=int(input("请输入一个整数n:"))
i=1
sum=0
while i<=n:
    if i%2!=0:
        sum+=i
    else:
        sum+=(-i)
    i+=1
print(sum)
#for----in
#
n=int(input("请输入一个整数n:"))
sum=0
for i in range(1,n+1,1):
    if i%2!=0:
        sum+=i
    else:
        sum+=(-i)
print(sum)

4.字符串统计,输入一个字符串,输出数字字符的个数

  此题在使用for循环时,只需要用i对字符串进行索引即可(不能用字符串名.[下标]),在while循环中正常使用字符串名.[下标]来索引每个字符

  还有一个注意点是,在python3中字符是不能直接用ASCII码与数字进行比较的,只能字符之间比较大小,如下面的代码在判断是否为数字时的语句

#字符串统计,输入一个字符串,输出数字字符的个数
#for----in
Str_=input("请输入一串字符:")
l=len(Str_)
count=0
for i in Str_:
    if i<='9' and i>='0':
        count+=1
print(count)

#while
Str_=input("请输入一串字符:")
l=len(Str_)
i=0
count=0
while i<l:
    if(Str_[i]<='9' and Str_[i]>='0'):
        count+=1
    i+=1
print(count)

5.字符分类统计,输入一个字符串,分别统计字母、数字、下划线、其他字符的统计结果

  这个题与第四题大同小异:只需要注意不能用处ASCII码数字进行判断即可

#打印字符分类
#while
Str_=input("请输入一串字符:")
l=len(Str_)
count_cha=0 #字母
count_dig=0 #数字
count_underline=0 #下划线
count_others=0 #其他字符
i=0
while i<l:
    if Str_[i]<='z'and Str_[i]>='a':
        count_cha+=1
    elif Str_[i] <='9' and Str_[i] >= '0':
        count_dig+=1
    elif Str_[i]=='_':
        count_underline+=1
    else:
        count_others+=1
    i+=1
print("这串字符串中字母的个数是",count_cha)
print("这串字符串中数字的个数是",count_dig)
print("这串字符串中下划线的个数是",count_underline)
print("这串字符串中其他字符的个数是",count_others)

#for---in
Str_=input("请输入一串字符:")
count_cha=0 #字母
count_dig=0 #数字
count_underline=0 #下划线
count_others=0 #其他字符
for i in Str_:
    if i <= 'z' and i >= 'a':
        count_cha += 1
    elif i <= '9' and i >= '0':
        count_dig += 1
    elif i == '_':
        count_underline += 1
    else:
        count_others += 1
print("这串字符串中字母的个数是",count_cha)
print("这串字符串中数字的个数是",count_dig)
print("这串字符串中下划线的个数是",count_underline)
print("这串字符串中其他字符的个数是",count_others)

6.打印菱形

  打印菱形一直是我们学习一门语言必须要经历的一步,熟练掌握这种菱形的打印可以让我们对这门语言的语法和基础用法更加熟悉

  打印菱形最重要的一点就是找到规律:

  • 先打印上半部分、在打印下半部分
  • 每一部分先打印空格,再打印*号
  • 上半部分的打印和下半部分的打印思维是相反的

稍微难一点,不过可以更好的锻炼我们的思维

#打印菱形
#纯while
n=int(input("请输入想打印的菱形的行数(奇数)"))
z=n//2+1
#打印上半部分
i=0
while i<z:  #打印上半部分
    j=0
    while j<z-i-1:    #打印上面空格
        print(' ' ,end='')
        j+=1
    x=0
    while x<2*i+1:    #打印上面的*
        print('*',end='')
        x+=1
    print()
    i+=1
#打印下半部分
i=0
while i<z-1:
    h=0
    while h<i+1:
        print(' ',end='')
        h+=1
    t=0
    while t<(z-i-1)*2-1:
        print('*',end='')
        t+=1
    print()
    i+=1


#for---in+while
n=int(input("请输入想打印的菱形的行数(奇数)"))
z=n//2+1
#打印上半部分
for i in range(0,z,1):
    j = 0
    while j<z-i-1:    #打印上面空格
        print(' ' ,end='')
        j+=1
    x=0
    while x<2*i+1:    #打印上面的*
        print('*',end='')
        x+=1
    print()
for i in range(0,z,1):
    h = 0
    while h<i+1:
        print(' ',end='')
        h+=1
    t=0
    while t<(z-i-1)*2-1:
        print('*',end='')
        t+=1
    print()

7.打印水仙花数

  “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1^3+5^3+3^3=153,则153是一个“水仙花数”

  打印水仙花数最重要的是找到它的每一位,并每次循环都进行一次判断,如果符合水仙花数的规律,就进行打印

  乘方符号  **

#打印水仙花数
#while+for---in
i=0
wa_fl=0
z=0
for i in range(100,1000,1):
    z=i
    wa_fl=0
    while z>0:
        wa_fl+=((z%10)**3)
        z//=10
    if wa_fl==i:
        print(i)
#纯while
i=100
while i<=999:
    ge_=i%10  #找到个位
    shi_=i//10%10  #找到十位
    bai_=i//100
    if ge_**3+shi_**3+bai_**3==i:
        print(i)
    i+=1

在这里插入图片描述

  博主写了好长时间,如果你能给博主一个免费三连鼓励一下博主的话,那么你真是 泰裤辣

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

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

相关文章

队列的应用——层次遍历、计算机系统

目录 队列在层次遍历中的应用队列在计算机系统中的应用 队列在层次遍历中的应用 在信息处理时&#xff0c;有一类问题需要逐层或逐行处理。这类问题的解决方法往往是在处理当前层或当前行时就对下一层或下一行做预处理&#xff0c;把处理顺序安排好&#xff0c;等到当前层或当…

Mybatis如何使用mapper代理开发

1、创建一个接口&#xff0c;与sql映射文件在同一目录&#xff1a; 2、在resources文件创建同一个目录&#xff1a; 目录之间用/分开 com/itheima/mapper 把映射文件放到mapper里 3、设计sql映射文件的namespace属性&#xff0c;为Mapper接口全限定名&#xff1a;要跟映射文件…

MySQL-SQL全部锁详解(上)

​♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#x…

计算机方向常见期刊的缩写 !!

期刊的缩写 TPAMI: IEEE Trans. Pattern Anal. Mach. Intell. IEEE Transactions on Image Processing&#xff08;TIP&#xff09;: IEEE Trans. Image Process. IEEE Transactions on Medical Imaging&#xff08;TMI&#xff09;&#xff1a;IEEE Trans. Med. Imaging IEEE…

【论文笔记】BEIT V2: Masked Image Modeling with Vector-Quantized Visual Tokenizers

1.介绍 1.1 核心观点 当时的所有的重建目标都是关于低级图像元素的&#xff0c;低估了高级语义。 【Q】怎么去定义高级和低级语义 1.2 基本流程 VQ-KD编码器首先根据可学习码本将输入图像转换为离散令牌 然后&#xff0c;解码器学习重建由教师模型编码的语义特征&#x…

4C沟通法则16项注意事项 让项目沟通更高效

在我们日常项目沟通过程中&#xff0c;存在很多沟通障碍&#xff0c;如我以为的错误、不敢越级沟通、害怕被拒绝以及没有提前计划沟通活动等。沟通障碍如需求理解错误、开发团队关系紧张、任务分配执行难度大等问题&#xff0c;往往对项目造成不可估量的影响&#xff0c;有可能…

[Web程序设计]实验:会话技术应用

一、实验目的 &#xff08;1&#xff09;掌握Cookie和session两种会话跟踪技术和它们的应用和区别。 &#xff08;2&#xff09;掌握Cookie和session两种会话的应用和区别。 二、实验内容 &#xff08;1&#xff09;请设计一个类&#xff0c;使用Cookie技术实现显示用户上次…

【消费战略方法论】消费本位的战略模型

消费本位战略模型 消费者需求是价值交换的基础。 在经济学中&#xff0c;“买”与“卖”是经济链中的重要两端&#xff0c;一端连接消费需求决定市场规模&#xff0c;一端连接产品供给决定企业利润。即“买”决定“卖”的根本&#xff0c; “卖”是“买”的基础。消费者需求是…

第1讲 Camera KMD ISP子系统课程介绍

更多资源&#xff1a; 资源描述在线课程极客笔记在线课程知识星球星球名称&#xff1a;深入浅出Android Camera 星球ID: 17296815Wechat极客笔记圈 课程内容介绍 目标&#xff1a;课程会帮助大家理解高通camera kmd驱动&#xff0c;包括一些优秀的设计思想。重点讲解cpas, c…

有关回溯问题,总结的细致要点

目录 对于这三类问题的去重我总结的模板&#xff0c;直接用&#xff1a; 组合&#xff1a; 子集&#xff1a; 排列&#xff1a; 总结&#xff1a; 三类回溯问题框架都是 if ...终止for 遍历递归 三类问题都抽象成树 dfs 对于组合和子集问题&#xff0c;需要用到index对…

软件测试的概念与过程----学习软件测试前的思考

软件测试的概念与过程----学习软件测试前的思考 1、软件测试工作是做什么的&#xff1f;2、那我做软件测试拿到一个软件产品我应该从哪里测试&#xff0c;怎末开始工作&#xff1f;3、测试早做好还是晚一些做好&#xff1f;4、软件测试能将软件测试的一点问题都没有嘛&#xff…

蓝牙无线耳机哪个品牌好?盘点前七名无线蓝牙耳机分享

本文将为您详细介绍每款蓝牙耳机的设计特点、音质表现、续航能力和智能功能等关键信息。我们将提供客观、全面的分析&#xff0c;帮助您更好地了解每款产品的优势和适用场景&#xff1b;无论您是追求高保真音质的音乐发烧友&#xff0c;还是需要轻便舒适的耳机进行运动&#xf…

好选客干货分享:矿物燃料找外贸客户

矿物燃料概述 矿物燃料&#xff0c;也称化石燃料&#xff0c;是由数百万年来的动植物遗骸形成的自然资源&#xff0c;也是人类社会中重要的能源来源之一&#xff0c;主要包括煤炭、石油和天然气。 Image by PublicDomainPictures via Pixabay 在商品类章27章中&#xff0c;矿物…

HashMap的底层实现原理

红黑数演示地址&#xff1a;https://www.cs.usfca.edu/~galles/visualization/Algorithms.html 一、构造源码解读 public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable {//1、实现了两个Map接口 &#xff0c;…

【金融量化】购买了多只基金,如何进行资产分配?如何基金组合配置?

【金融量化】购买了多只基金&#xff0c;如何进行资产分配&#xff1f;如何基金组合配置&#xff1f; 1 概念 FOF&#xff08;Fund of fund&#xff09;&#xff0c;即基金中基金&#xff0c;是一种投资于其他投资基金的基金。说白了&#xff0c;就是基金经理是买入多只基金取…

Day_56-57kMeans 聚类

目录 Day_56-57 k-Means 聚类 一. 基本概念介绍 二. 具体过程 三. 代码实现与解释 1. 导入数据与数据初始化 2. 核心代码 3. 后续信息的补充 4. 距离计算和随机排列 四. 后续的数据分析 五. 运行结果 Day_56-57 k-Means 聚类 一. 基本概念介绍 同我上一篇博客的介绍&…

微博视频发布软件有哪些

微博视频发布软件有哪些&#xff0c;新的新浪微博怎么发微博#科技#手机操作#微信 软件有月卡、季卡、半年卡、年卡 【引流脚本软件发帖顶帖有货】 服务时间&#xff1a;&#xff08;8&#xff1a;00—23&#xff1a;00&#xff09; 需要观看软件操作视频教程的可关注↑↑↑上…

大数据开发技术与实践期末复习(HITWH)

目录 分布式文件处理系统HDFS 分布式文件系统 HDFS简介 块&#xff08;block&#xff09; 主要组件的功能 **名称节点 FsImage文件 名称节点的启动 名称节点运行期间EditLog不断变大的问题 SecondaryNameNode的工作情况 数据节点 HDFS体系结构 HDFS体系结构的局限…

游戏行业黑马昆仑万维,国产AI巨头崛起

游戏行业黑马昆仑万维&#xff0c;国产AI巨头崛起&#xff0c;其大模型技术堪比ChatGPT 随着人工智能技术的快速发展&#xff0c;越来越多的公司参与大规模语言模型的开发和应用。近日&#xff0c;昆仑万维正式发布大型语言模型“天宫”&#xff0c;宣布即日起开始邀请测试&am…

操作系统——基于信号量机制的并发程序设计

一、实验题目 基于信号量机制的并发程序设计 二、实验目的 (1) 回顾操作系统进程、线程的有关概念&#xff0c;针对经典的同步、互斥、死锁与饥饿问题进行并发 程序设计。 (2) 了解互斥体对象&#xff0c;利用互斥与同步操作编写读者-写者问题的并发程序&#xff0c;加深…