函数用法如下:
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
# -*- coding:utf-8 -*-
res = 0
for i in range(1,101):
res = res+i
print(res)
编写程序,计算10+9+8+…+1
# -*- coding:utf-8 -*-
res = 0
for i in range(10,0,-1):
res = res + i
print(res)
编写程序,计算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)
# -*- coding:utf-8 -*-
n = int(input("请输入项数:"))
res = 0
for i in range(1,n+1):
res = res + 1.0/i
print(res)
编写程序,打印九九乘法表。要求输出九九乘法表的各种显示效果(上三角、下三角、矩阵块等方式)。
# -*- 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(" ")
编写程序,输入三角形三条边,先判断是否可以构成三角形,如果可以,则进一步计算三角形的周长和面积,否则报错:“无法构成三角形!”。运行效果如下,(均保留一位小数。)
提示:(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("无法构成三角形")
编写程序,输入整数n(n>=0),分别利用for循环和while循环求n!。运行效果如下:
提示:(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
编写程序,从键盘商输入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))
编写程序,计算“五天向上”和“五天向下”两种情况下的武力值。假设一年由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))
编写程序,计算糖果总数。假设有一盒糖果,按照如下方式从中取糖果:
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程序流程控制练习题