一、实验目的:
1.熟练掌握用while语句和for语句实现循环的方法。
2.熟练掌握循环的嵌套。
3.掌握在程序设计中用循环的方法实现一些常用算法。
二、实验内容:
1、1-100分之一偶数累加和。
2、1-100分之一奇数累加和。
3、1-1/2+1/3.......-1/100。
4、100以内和。
5、100之内偶数和。
6、100之内奇数和。
7、请输入一个正整数,计算偶数奇数累加和。
8、N-M能被T整除的数累加和。
9、7的阶乘。
10、四种不同方向的直角三角形。
11、打印菱形。
12、打印字母数字三角形。
13、打印九九乘法表。
14、while循环分别计算偶数、奇数、1+1/2+1/3+···、1-1/2+1/3··累加和。
15、循环嵌套选择计算向上5天向下2天的力量。
三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)
【题目】:
1、1-100分之一偶数累加和。
【源码】:
n=100
sum=0
for i in range(1,int(n/2)):
i=i*2
sum=sum+1/i
print("1-100分之一偶数累加和:{:.2f}".format(sum))
【运行结果】:
【题目】:
2、1-100分之一奇数累加和。
【源码】:
n=100
sum=0
for i in range(int(n/2)):
i=i*2+1
sum=sum+1/i
print("1-100分之一奇数累加和:{:.2f}".format(sum))
【运行结果】:
【题目】:
3、1-1/2+1/3.......-1/100。
【源码】:
n=100
sum=0
y=1
for i in range(int(n)):
i+=1
sum=sum+(1/i)*y
y=-1*y
print("1-1/2+1/3.......-1/100:{:.2f}".format(sum))
【运行结果】:
【题目】:
4、100以内和。
【源码】:
sum = 0
n=100
for i in range(int(n)):
i += 1
sum += i
print("100以内之和",sum)
【运行结果】:
【题目】:
5、100之内偶数和。
【源码】:
sum = 0
for i in range(101):
if i%2==0:
sum += i
print("100之内偶数和",sum)
【运行结果】:
【题目】:
6、100之内奇数和。
【源码】:
sum = 0
for i in range(100):
if i%2==1:
sum += i
print("100之内奇数和",sum)
【运行结果】:
【题目】:
7、请输入一个正整数,计算偶数奇数累加和。
【源码】:
n=int(input("请输入一个正整数:"))
SUM_O=0
SUM_J=0
for i in range(1,n+1):
if i%2 == 0:
SUM_O += i
if i%2 == 1:
SUM_J += i
print("n之内偶数和:{0},n之内奇数和:{1}".format(SUM_O,SUM_J))
【运行结果】:
【题目】:
8、N-M能被T整除的数累加和。
【源码】:
N=int(input("输入正整数N:"))
M=int(input("输入正整数M:"))
T=int(input("输入正整数T:"))
Sum = 0
for i in range(N,M+1):
if i%T == 0:
Sum += i
print("100之内能被5整除的数累加和:",Sum)
【运行结果】:
【题目】:
9、7的阶乘。
【源码】:
N=int(input("输入正整数N:"))
Sum = 1
for i in range(1,N+1):
Sum*=i
print("{0}的阶乘为:{1}".format(N,Sum))
【运行结果】:
【题目】:
10、四种不同方向的直角三角形。
【源码】:
for w in range(5):
for y in range(w+1):
print("*",end="")
print("")
for w in range(5):
print(" "*(5-w),end="")
for y in range(w+1):
print("*",end="")
print("")
for w in range(5):
for y in range(5-w):
print("*",end="")
print("")
for w in range(5):
print(" "*w,end="")
for y in range(5-w):
print("*",end="")
print("")
【运行结果】:
【题目】:
11、打印菱形。
【源码】:
for w in range(0,5):
for y in range(0,4-w):
print(" ",end="")
for y in range(0,w+1):
print("*",end=" ")
print("")
for w in range(0,4):
for y in range(0,w+1):
print(" ",end="")
for y in range(0,4-w):
print("*",end=" ")
print("")
【运行结果】:
【题目】:
12、打印字母数字三角形。
【源码】:
for w in range(1,10):
print(" "*(15-w),end="")
for y in range(1,2*w):
print(chr(64+w),end="")
print("")
for w in range(1,10):
print(" "*(15-w),end="")
for y in range(1,2*w):
print(chr(96+w),end="")
print("")
for w in range(1,10):
print(" "*(15-w),end="")
for y in range(1,2*w):
print(chr(48+w),end="")
print("")
【运行结果】:
【题目】:
13、打印九九乘法表。
【源码】:
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={:<3}".format(j,i,i*j),end=' ')
print(' ')
【运行结果】:
【题目】:
14、while循环分别计算偶数、奇数、1+1/2+1/3+···、1-1/2+1/3··累加和。
【源码】:
#偶数
Sum=0
i=1
while i<=100:
if i%2==0:
Sum+=i
i+=1
print("Sum=",Sum,)
#奇数
Sum=0
i=1
while i<=100:
if i%2==1:
Sum+=i
i+=1
print("Sum=",Sum,)
#1+1/2+....
Sum=0
i=1
while i<=100:
Sum+=(1/i)
i+=1
print("Sum=",Sum,)
#1-1/2+....
Sum=0
i=1
y=1
while i<=100:
Sum+=(1/i)*y
i+=1
y*=-1
print("Sum=",Sum,)
【运行结果】:
【题目】:
15、循环嵌套选择计算向上5天向下2天的力量。
【源码】:
import math
dayup,dayfactor=1.0,0.01
for i in range(365):
if i%5 in [4,0]:
dayup=dayup*(1-dayfactor)
else:
dayup=dayup*(1+dayfactor)
print("向上5天向下2天的力量:{:.2f}.".format(dayup))
【运行结果】: