python-循环语句-习题及答案-for-while

本文提供了一系列Python编程练习题目,涉及循环语句的使用,包括:计算复利、数字筛选、序列操作、图形打印等。通过这些习题,读者可以深入理解和运用for和while循环。
部署运行你感兴趣的模型镜像

for 变量 in range(起始,终止,步长):
循环体

变量 = 起始
while 终止条件(bool):
循环体
步长

break continue

1. 盈盈为了考验令狐冲夺冠的决心,要他说一百遍“我能行!”

# for i in range(0,100,1):
#     print("我能行")

2.

本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年内,每年获得的本金是多少?

# for year in range(1,6,1):
#     m = 10000*(1+0.003)**year
#     print(m)

3.

计算出1—100

之间所有能被3整除的整数的和?

# sum = 0
# for i in range(1,101,1):
#     if i%3==0:
#         sum += i
# print(sum)

# sum = 0
# for i in range(3,101,3):
#     sum += i
# print(sum)

4.

计算1000以内所有不能被7整除的整数之和?

# sum = 0
# for i in range(1,1001,1):
#     if i%7!=0:
#         sum += i
# print(sum)

# sum = 0
# for i in range(7,1001,7):
#     sum += i
# print(500500 - sum)

5.

求10到20的累加和

# sum = 0
# for i in range(10,21,1):
#     sum+=i
# print(sum)

#sum = 0
# a = 10
# while a<=20:
#     sum += a
#     a += 1
# print(a,sum)

6.找出一个数的所有因子数


# a = int(input("请输入一个数:"))
# for i in range(1,a//2+1):
#     if a%i == 0:
#         print(i)

7.

输入一个数,判断这个数是否是素数;

# a = int(input("请输入一个数:"))
# flag = False   #旗标法
# for i in range(2,a//2+1):
#     if a%i == 0:
#         flag = True
# #检验flag的值
# if flag:
#     print("不是素数")
# else:
#     print("是素数")

8

定义一个正整数如:1205

统计它的各位数字中零的个数,并求各位数字中的最大者。

# a = int(input("请输入一个数:"))
# count = 0
# for i in range(len(str(a))):
#     if a%10==0:
#         count += 1
#     a //= 10
# print(count)

# print(max(str(a)))

9

有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完

# a = 1020
# for day in range(1,1000,1):
#     a = a//2-2
#     if a<=0:
#         print(day)
#         break
# days = 0
# a = 1020
# while a>0:
#     days += 1
#     a = a//2-2
# print(days)

10

猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃一个,

以后每天都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?

# day_count = 1
# for day in range(9,0,-1):
#     day_count = (day_count+1)*2
# print(day_count)

11

判断一个数是否是完全数(完数指的是一个数的所有因子数的和等于这个数本身,例如

# 6 = 1 + 2 + 3, 即6就是完全数)
# sum = 0
# a = int(input("请输入一个数:"))
# for i in range(1,a//2+1):
#     if a%i == 0:
#         sum += i
# if sum==a:
#     print("是")
# else:
#     print("不是")

1.

输出图型

*

**

***

****

# for i in range(0,4,1): #行
#     for i in range(0,i+1,1):             #列
#         print("*",end="")
#     print()

2

在这输出图型里插入图片描述

for i in range(0,5,1): #行
    for k in range(0,4-i,1):
        print(" ",end="")
    for j in range(0,2*i+1,1):             #列
        print("*",end="")
    print()

在这里插入图片描述

for i in range(0,5,1): #行
    for k in range(0,i+1,1):
        print(" ",end="")
    for j in range(0,9-2*i,1):             #列
        print("*",end="")
    print()

3

*

**

***

****

*****

******

*******

******

*****

****

***

**

*

# for i in range(-6,7,1):
#     for j in range(0,7-abs(i)):
#         print("*",end="")
#     print()

4.

编写一个九九乘法法

# for i in range(1,10,1):
#     for j in range(1,i+1,1):
#         print(j,"*",i,"=",i*j,end="  ")
#     print()

5

百钱买百鸡,有100元钱,要去买100只鸡,公鸡5元一只,母鸡3元一只,小鸡1元3只,问公,母,小鸡各买多少只。

提示:

a + b + c = 100 只

5 a + 3b + 1 / 3c = 100 钱

# for m in range(0,20,1):
#     for n in range(0,33,1):
#         for k in range(0,100,3):
#             if m+n+k==100 and m*5+n*3+k//3==100:
#                 print(m,n,k)
# for m in range(0,20,1):
#     for n in range(0,33,1):
#         if (100-m-n)%3==0 and m*5+n*3+(100-m-n)//3==100:
#             print(m,n,(100-m-n))

6

星型图案

*

***

*****

*******

*********

7

把上图形再倒过来,合成一个菱形图案

# for i in range(-4,5,1):
#     for j in range(abs(i)):
#         print(" ",end="")
#     for k in range(9-2*abs(i)):
#         print("*",end="")
#     print()

8

打印出一个空菱形图案

# for i in range(-4,5,1):
#     for j in range(abs(i)):
#         print(" ",end="")
#     for k in range(9-2*abs(i)):
#         if k==0 or k==9-2*abs(i)-1:
#             print("*",end="")
#         else:
#             print(" ",end="")
#     print()

9.

求300 - 400

之间的素数

# for i in range(300,401,1):
#     flag = False
#     for j in range(2,i,1):
#         if i%j==0:
#             flag = True
#             break
#     if not flag:
#         print(i)

10

输出一个平行四边形的图案

# for i in range(0,4,1):
#     for j in range(0,3-i):
#         print(" ",end="")
#     for k in range(0,10):
#         print("*",end="")
#     print()

11

用while做

鸡兔同笼。鸡兔一共有50只,脚一共有160只,问鸡和兔各多少只?要求鸡兔至少一样一只。

12.

计算2 / 1 + 3 / 2 + 4 / 3 +…+(n + 1) / n,写出算法的程序.

# sum = 0
# for i in range(1,21,1):
#     sum += (i+1)/i
# print(sum)

14.2000年我国人口为13亿,如果人口每年的自然增长率为7%,那么多少年 后我国人口将达到15亿?设计一个算法的程序

# year = 0
# cp = 13 #人口总数
# while cp<15:
#     cp = cp*(1+0.03)
#     year += 1
# print(2000+year)

15

用while做 鸡兔同笼。鸡兔一共有50只,脚一共有160只,问鸡和兔各多少只?要求鸡兔至少一样一只。

# m = 1   #鸡
# while not m*2+(50-m)*4==160:
#     m += 1
# print(m,50-m)
# m = 1
# while m<50:
#     if m*2+(50-m)*4==160:
#         print(m,50-m)
#     m += 1

16.

循环录入python课的学生成绩,统计分数大于等于 80分的学生比例(使用continue)

# count = 0
# for i in range(10):
#     score = int(input("请输入成绩"))
#     if score<80:
#         continue
#     count += 1
# print(count)

17.

循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误(使用break)

# sum = 0
# flag = False
# for i in range(5):
#     score = int(input("请输入成绩"))
#     if score<0:
#         flag = True
#         break
#     sum += score
# if not flag:
#     print(sum/5)
# else:
#     print("输入错误")

18.给出50个数,1,2,4,7,11,„,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,„,以此类推. 要求计算这50个数的和.

# sum = 1
# a = 1
# c = 1
# while c<50:
#     a = a+c
#     sum += a
#     c += 1
#
# print(sum)

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值