《Python程序设计 》实验报告-循环结构

一、实验目的:

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))

【运行结果】:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值