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

news/2024/11/16 19:58:52/

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

文章目录

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*=ii+=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+=ielse: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+=ielse: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+=1i+=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+=1elif Str_[i] <='9' and Str_[i] >= '0':count_dig+=1elif Str_[i]=='_':count_underline+=1else:count_others+=1i+=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 += 1elif i <= '9' and i >= '0':count_dig += 1elif i == '_':count_underline += 1else: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=0while j<z-i-1:    #打印上面空格print(' ' ,end='')j+=1x=0while x<2*i+1:    #打印上面的*print('*',end='')x+=1print()i+=1
#打印下半部分
i=0
while i<z-1:h=0while h<i+1:print(' ',end='')h+=1t=0while t<(z-i-1)*2-1:print('*',end='')t+=1print()i+=1#for---in+while
n=int(input("请输入想打印的菱形的行数(奇数)"))
z=n//2+1
#打印上半部分
for i in range(0,z,1):j = 0while j<z-i-1:    #打印上面空格print(' ' ,end='')j+=1x=0while x<2*i+1:    #打印上面的*print('*',end='')x+=1print()
for i in range(0,z,1):h = 0while h<i+1:print(' ',end='')h+=1t=0while t<(z-i-1)*2-1:print('*',end='')t+=1print()

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=iwa_fl=0while z>0:wa_fl+=((z%10)**3)z//=10if wa_fl==i:print(i)
#纯while
i=100
while i<=999:ge_=i%10  #找到个位shi_=i//10%10  #找到十位bai_=i//100if ge_**3+shi_**3+bai_**3==i:print(i)i+=1

在这里插入图片描述

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


http://www.ppmy.cn/news/572030.html

相关文章

细说设计模式

23种设计模式 &#xff08;一&#xff09;、创建型模式 对象实例化的模式&#xff0c;创建型模式用于解耦对象的实例化过程。 单例模式&#xff1a;某个类只能有一个实例&#xff0c;提供一个全局的访问点。工厂方法模式&#xff1a;一个工厂类根据传入的参量决定创建出哪一种…

作业一:扑克游戏11点

1、生成一副扑克牌&#xff08;自己设计扑克牌的结构&#xff0c;小王和大王可以分别用14、15表示 &#xff09; 2、3个玩家(玩家也可以自己定义) 3、发牌规则 默认先给用户发一张牌&#xff0c;其中 J、Q、K、小王、大王代表的值为0.5&#xff0c;其他就是则就是当前的牌面值…

压缩包损坏

就那天下载了一个压缩包&#xff0c;需要压缩包内的文件。可是解压失败&#xff01;&#xff01;&#xff01;&#xff01;第一次遇到这种问题&#xff0c;觉得凉凉了&#xff0c;发现一款神奇的软件:Advanced RAR Repair 这个修复压缩包的工具很好用&#xff0c;强烈推荐&…

解决在GitHub下载架构包显示已损坏问题

sudo xattr -d com.apple.quarantine /Applications/软件名.app 作用是移除macos中的Quarantine属性。这个属性会被macOs添加到从互联网下载或通过AirDrop接收的文件上&#xff0c;目的是保护您的计算机免受潜在的有害文件。当您运行这个命令时&#xff0c;它会从指定的文件或目…

压缩包已损坏或压缩格式未知无法打开 的解决办法

好久木得更新了&#xff0c;因为最近一直在装软件&#xff0c;总是失败&#xff0c;但是如果你总是刚它&#xff0c;还是会装成功的&#xff08;可能因为我一个幸运的家伙吧Hhh&#xff09; 下面记录我所遇到的问题和解决方案: 压缩包已损坏或压缩格式未知无法打开 方法1&am…

百度云下载的压缩吧损坏问题解决

百度云下载的压缩吧损坏问题解决 参考文章&#xff1a; &#xff08;1&#xff09;百度云下载的压缩吧损坏问题解决 &#xff08;2&#xff09;https://www.cnblogs.com/EasonJim/p/6945955.html 备忘一下。

下载文件到本地解压压缩包出现文件损坏,报错问题已解决

下载文件到本地解压压缩包出现文件损坏&#xff0c;报错问题已解决 参考文章&#xff1a; &#xff08;1&#xff09;下载文件到本地解压压缩包出现文件损坏&#xff0c;报错问题已解决 &#xff08;2&#xff09;https://www.cnblogs.com/zly-1209/p/12006693.html 备忘一下…

ctfshow 菜狗杯 损坏的压缩包

题目链接&#xff1a;ctf.show 扔进HEX Workshop看看 由文件头发现是png文件&#xff0c;改后缀为png得到图片