实验五:循环结构程序设计(4学时)
一、实验方式:
一人一机
二、实验目的:
1、熟悉循环结构特点和一般形式。
2、掌握for结构的使用方法。
3、掌握while结构的使用方法。
三、实验内容:
1、输入一个整数,用while循环结构求该数的阶乘。
2、输入10个数,统计输入正数的个数,并输出。(要求:保证只有输入的是10个数值,才输出结果)
3、数字组合, 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
4、斐波那契数列II,有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
5、登录验证信息:用户名是admin,密码是123456。如果该用户输入正确,则输出"身份验证成功";三次验证不正确,则输出"身份验证失败"。
6、已知三角形的三边长a,b,c,利用海伦公式求该三角形的面积。(要求:保证只有输入的三个值构成三角形,才输出结果)
7、输入学生成绩,判定其成绩等级。(要求:保证输入正确成绩0-100分后判定并输出结果)
8、输入一个大于1的正整数,输出该数的质因子列表。
9、蒙特·卡罗法计算圆周率
蒙特·卡罗方法是一种通过概率得到近似解的方法。假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x,y)必然在木板上(更多的时候是落在单位圆内),如果扔的次数足够多,那么落在单位圆内的次数除以总次数再乘以4,这个数字会无限逼近圆周率的值。编写程序,模拟蒙特·卡罗计算圆周率近似值的方法,输入掷飞镖次数,然后输出圆周率近似值。
10、(选做)思考增项题:
实验1:输入一组整数求其阶乘值。
实验7:输入多个学生成绩判断成绩等级。
四、实验结果与分析:
1、输入一个整数,用while循环结构求该数的阶乘。
编辑器方式
(1)程序代码(程序运行最终正确代码):
s=1
n=int(input("输入一个整数:"))
n=abs(n)
i=1
while n>=1:
s=s*i
i=i+1
n=n-1
else:
print("数"+str(i-1)+"的阶乘=",s)
(2)程序结果(截图Alt+PrtSc):
(3)程序分析(程序运行错误修改或运行结果分析):
无
2、输入10个数,统计输入正数的个数,并输出。(要求:保证只有输入的是10个数值,才输出结果)
编辑器方式
(1)程序代码(程序运行最终正确代码):
i=k=0
while i<10:
n=input("输入第"+str(i+1)+"数=")
if place("-","").isdigit():
print("输入的不是数值!请重新输入!")
continue
else:
i=i+1
if int(n)<=0:
continue
k=k+1
print("10个数中正数的个数=",k)
(2)程序结果(截图Alt+PrtSc):
(3)程序分析(程序运行错误修改或运行结果分析):
无
3、数字组合, 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
编辑器方式
(1)程序代码(程序运行最终正确代码):
total=0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if ((i!=j)and(j!=k)and(k!=i)):
print(i,j,k,)
total+=1
print("一共有:",total,"个组合。")
(2)程序结果(截图Alt+PrtSc):
(3)程序分析(程序运行错误修改或运行结果分析):
无
4、斐波那契数列II,有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
编辑器方式
(1)程序代码(程序运行最终正确代码):
a=2.0
b=1.0
s=0
for n in range(1,21):
s+=a/b
a,b=a+b,a
print (s)
(2)程序结果(截图Alt+PrtSc):
(3)程序分析(程序运行错误修改或运行结果分析):
无
5、登录验证信息:用户名是admin,密码是123456。如果该用户输入正确,则输出"身份验证成功";三次验证不正确,则输出"身份验证失败"。
编辑器方式
(1)程序代码(程序运行最终正确代码):
for i in range(1,4):
username=input("请输入用户名:")
password=input("请输入密码:")
flag=0
if username=='admin'and password=='123456':
flag=1
break
elif i!=3:
print("\n用户名和密码输入错误,请重新输入!")
if flag==1:
print("\n身份验证成功!")
else:
print("\n身份验证失败!")
python新手代码错了应该怎么改
(2)程序结果(截图Alt+PrtSc):
(3)程序分析(程序运行错误修改或运行结果分析):
无
6、已知三角形的三边长a,b,c,利用海伦公式求该三角形的面积。(要求:保证只有输入的三个值构成三角形,才输出结果)
编辑器方式
(1)程序代码(程序运行最终正确代码):
a=float(input("输入边长1:"))
b=float(input("输入边长2:"))
c=float(input("输入边长3:"))
while not(a+b>c and b+c>a and c+a>b):
print("输入的三个值不能构成三角形,请重新输入!")
a=float(input("输入边长1:"))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论