最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

python程序流程控制练习题

XAMPP案例 admin 2291浏览 0评论
本文整理一些巩固Python程序流程控制的练习题,并提供了相应的代码。知识卡片range()调用python  3 range( )函数返回一个可迭代对象(类型是对象),可迭代打印出包含的内容。

函数用法如下:

range(stop)
range(start, stop[, step])
# 参数说明
# start :计数开始的地方。默认是从0开始,例如。range(5)等价于range(0,5)
# stop : 计数结束的地方,但不包括stop,即左闭右开。例如,range(0,5),返回一个包含0、1、2、3、4的迭代器,而不包括5
# step : 即步长,默认为1。例如,range(0,5)等价于range(0,5,1)

 示例如下:

for i in range(5)
    print(i)
#输出 0
#     1
#     2
#     4
list(range(5))
# 输出 [0, 1, 2, 3, 4]
list(range(0))
# 输出 []
list(range(0, 10, 2))
# 输出 [0, 2, 4, 6, 8]
list((range(10, 0, -1))
# 输出 [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
list(range(1, 0))
# 输出 []

 01

编写程序,计算1+2+3+…+100

# -*- coding:utf-8 -*-
res = 0
for i in range(1,101):
    res = res+i
print(res)
02—

编写程序,计算10+9+8+…+1

# -*- coding:utf-8 -*-
res = 0
for i in range(10,0,-1):
    res = res + iprint(res)
03

编写程序,计算2+4+6+8+…+100

# -*- coding:utf-8 -*-
res = 0
i = 2
while i<=100:
    res = res + i
    print(i)
    i = i + 2
print(res)
04编写程序,计算 ,项数n由输入控制。
# -*- coding:utf-8 -*-
n = int(input("请输入项数:"))
res = 0
for i in range(1,n+1):
    res = res + 1.0/i
print(res)
05

编写程序,打印九九乘法表。要求输出九九乘法表的各种显示效果(上三角、下三角、矩阵块等方式)。

# -*- coding:utf-8 -*-
# 上三角
print("九九乘法表之上三角")
for i in range(1,10):
    for j in range(1,10):
        if i<=j:
            print(str.format("{0}×{1}={2:2}",i,j,i*j),end= "     ")
    print(" ")
print("-"*100)
# 下三角
print("九九乘法表之下三角")
for i in range(1,10):
    for j in range(1,10):
        if i>=j:
            print(str.format("{0}×{1}={2:2}",i,j,i*j),end= "     ")
    print("  ")
print("-"*100)
# 矩形
print("九九乘法表之矩阵")
for i in range(1,10):
    for j in range(1,10):
        print(str.format("{0}×{1}={2:2}",i,j,i*j),end= "     ")
    print("  ")
06

编写程序,输入三角形三条边,先判断是否可以构成三角形,如果可以,则进一步计算三角形的周长和面积,否则报错:“无法构成三角形!”。运行效果如下,(均保留一位小数。)

drd000052

提示:(1)三个数可以构成三角形必须满足如下条件:每条边长均大于0,并且任意两边之和大于第三边。

(2)已知三角形的三条边,则三角形的面积 ,其中h为三角形周长的一半。

# -*- coding:utf-8 -*-
import math
a=eval(input("请输入三角形的边A:"))
b=eval(input("请输入三角形的边B:"))
c=eval(input("请输入三角形的边C:"))
print(str.format("三角形三边分别为:a={0:2.1f},b={1:2.1f},c={2:2.1f}。",a,b,c))
if a+b>c and a+c>b and b+c>a  and a>0 and b>0 and c>0:
    l=(a+b+c)/2
    area=math.sqrt(l*(l-a)*(l-b)*(l-c))
    zhouchang = a+b+c
    print(str.format("该三角形的周长为={0:2.1f},面积={1:2.1f}。",zhouchang,area))
else:
    print("无法构成三角形")
07

编写程序,输入整数n(n>=0),分别利用for循环和while循环求n!。运行效果如下:

drd0000052

提示:(1)n! = n×(n-1)×(n-2)×(n-3)×…×2×1。注意0!=1

(2)一般地,累乘的初值为1,而累加的初值为0。

(3)如果输入的是负整数,则继续提示输入非负整数,直到n>=0。

# -*- coding:utf-8 -*-
while True:
    n=int(input("请输入非负整数n:"))
    if n<0:
        continue
    elif n==0:
        print("  for循环:0!= 1")
        print("while循环:0!= 1")
    else:
        #for 循环
        res1 = 1
        for i in range(n,0,-1):
            res1 = res1 * i
        print(str.format("  for循环:{0}!= {1}",n,res1))
        #while 循环
        res2 = 1
        temp = n
        while temp:
            res2 = res2*temp
            temp = temp - 1
        print(str.format("while循环:{0}!= {1}", n, res2))
        break
08

编写程序,从键盘商输入n个整数,输出这n个整数中所有奇数之和、偶数之和以及所有数的平均值。

# -*- coding:utf-8 -*-
sum1=sum2=0
for i in range(10):
    num=eval(input("请输入一个整数:"))
    if num%2==1:
        sum1=sum1+num
    else:
        sum2=sum2+num
avg=(sum1+sum2)/10
print("所有奇数之和:{},所有偶数之和:{},平均值:{}".format(sum1,sum2,avg))

09

编写程序,计算“五天向上”和“五天向下”两种情况下的武力值。假设一年由365天,郭大侠第一天的武力值为1.如果郭大侠,每天勤于练功,每天的武力值相比前一天会增加1%;如果郭大侠每天不练功,每天武力值相比前一天会减少1%。郭大侠制定了一年的练功计划:从第一天开始,前5天每天都练功,然后休息两天,接下来又练功5天,休息两天;如此往复,请计算一年后,郭大侠的最终武力值(结果保留2位小数)。

# -*- coding:utf-8 -*-
wuli=1
for i in range(1,366):
    if i%6==0 or i%7==0:
        wuli=wuliz*(1-0.01)
    else:
        wuli=wuli*(1+0.01)
print("郭大侠的最终武力值为:{:.2f}".format(wuli))
10

编写程序,计算糖果总数。假设有一盒糖果,按照如下方式从中取糖果:

1个1个地取,正好取完;

2个2个地取,还剩1个;

3个3个地取,正好取完;

4个4个地取,还剩1个;

5个5个地取,还剩1个;

6个6个地取,还剩3个;

7个7个地取,正好取完;

8个8个地取,还剩1个;

9个9个地取,正好取完。请问:这个盒子中至少有多少个糖果?

# -*- coding:utf-8 -*-
n=1
while 1:
    if n%2==1 and n%3==0 and n%4==1 and n%5==4 and n%6==3 and n%7==0 and n%8==1 and n%9==0:
        print("这个盒子里一共有{}个糖果".format(n))
        break
    else:
        n=n+1

 

转载请注明:XAMPP中文组官网 » python程序流程控制练习题

您必须 登录 才能发表评论!