python.实验五循环结构
1.编写程序,计算1×2×3× (10)
s =1
for i in range(1,11):
s = s * i
print("s=",s)
#输出结果:
s= 3628800
2.编写程序,计算1+3+5+ (99)
sum=0
for i in range(1,100,2):
sum=sum+ i
print("sum=",sum)
#输出结果:
sum= 2500
3.编写程序,输出1~100之间所有能被3整除,但是不能被5整除的数。
for i in range(1,100):
if i%3!=0or i%5==0:
continue
print(i,end=" ")
#输出结果:
3 6 9 12 18 21 2
4 27 33 36 39 42 48 51 54 57 63 66 69 72 78 81 84 87 93 96 99
4.编写程序,输出1000~2000年之间所有闰年,要求每⾏输出5个年份。
k=0
for i in range(1000,2000+1):
if(i%4==0and i%100!=0)or(i%400==0):
k+=1
print("{}".format(i),end=" ")
if k%5==0:
print("")
#输出结果:
1004 1008 1012 1016 1020
1024 1028 1032 1036 1040
1044 1048 1052 1056 1060
1064 1068 1072 1076 1080
1084 1088 1092 1096 1104
1108 1112 1116 1120 1124
1128 1132 1136 1140 1144
1148 1152 1156 1160 1164
1168 1172 1176 1180 1184
1188 1192 1196 1200 1204
1208 1212 1216 1220 1224
1228 1232 1236 1240 1244
1248 1252 1256 1260 1264
1268 1272 1276 1280 1284
1288 1292 1296 1304 1308
1312 1316 1320 1324 1328
1332 1336 1340 1344 1348
1352 1356 1360 1364 1368
1372 1376 1380 1384 1388
1392 1396 1404 1408 1412
1416 1420 1424 1428 1432
1436 1440 1444 1448 1452
1456 1460 1464 1468 1472
1476 1480 1484 1488 1492
1496 1504 1508 1512 1516
1520 1524 1528 1532 1536
1540 1544 1548 1552 1556
1560 1564 1568 1572 1576
1580 1584 1588 1592 1596
1600 1604 1608 1612 1616
1620 1624 1628 1632 1636
1640 1644 1648 1652 1656
1660 1664 1668 1672 1676
1680 1684 1688 1692 1696
1704 1708 1712 1716 1720
1724 1728 1732 1736 1740
1744 1748 1752 1756 1760
1764 1768 1772 1776 1780
1784 1788 1792 1796 1804
1808 1812 1816 1820 1824
1828 1832 1836 1840 1844
1848 1852 1856 1860 1864
1868 1872 1876 1880 1884
1888 1892 1896 1904 1908python生成1到100之间随机数
1912 1916 1920 1924 1928
1932 1936 1940 1944 1948
1952 1956 1960 1964 1968
1972 1976 1980 1984 1988
1992 1996 2000
5.编写程序,输出斐波那契数列的前20项,要求每⾏输出5项。
Fib1=1
Fib2=1
print(Fib1,Fib2,end=" ")
n=2
for i in range(3,20+1):
Fibi=Fib1+Fib2
Fib1=Fib2
Fib2=Fibi
n+=1
print("{}".format(Fibi),end=" ")
if n%5==0:
print("")
#输出结果:
1 1
2
3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
6.编写程序,从键盘上输⼊10个整数,输出这10个数中所有奇数之和,偶数之和及所有数的平均值。
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))
#输出样例:
请输⼊⼀个整数:4
请输⼊⼀个整数:23
请输⼊⼀个整数:8
请输⼊⼀个整数:9
请输⼊⼀个整数:16
请输⼊⼀个整数:25
请输⼊⼀个整数:32
请输⼊⼀个整数:17
请输⼊⼀个整数:18
请输⼊⼀个整数:17
所有奇数之和:91,所有偶数之和:78,平均值:16.9
7.编写程序,从键盘上输⼊若⼲个整数,求出这些整数中所有奇数之和、偶数之和及所有数的平均值,当从键盘输⼊字符"A"时,程序输出计算结果。
sum1=sum2=k=0
num=input("请输⼊⼀个整数(输⼊字符A时结束处理):")
while num!='A':
k=k+1
num=int(num)
if num%2==1:
sum1=sum1+num
else:
sum2=sum2+num
num=input("请输⼊⼀个整数(输⼊字符A时结束处理):")
avg=(sum1+sum2)/k
print("所有奇数之和:{},所有偶数之和:{},平均值:{}".format(sum1,sum2,avg))
#输出样例:
请输⼊⼀个整数(输⼊字符A时结束处理):5
请输⼊⼀个整数(输⼊字符A时结束处理):7
请输⼊⼀个整数(输⼊字符A时结束处理):8
请输⼊⼀个整数(输⼊字符A时结束处理):20
请输⼊⼀个整数(输⼊字符A时结束处理):A
所有奇数之和:12,所有偶数之和:28,平均值:10.0
8.编写程序,输出1×2×3+3×4×5+5×6×7+…+99×100×101的值。
sum=0
for i in range(1,100,2):
sum+=i*(i+1)*(i+2)
print("结果为:",sum)
#输出结果:
结果为: 13002450
9.编写程序,计算s=a+aa+aaa+…+aaa…aaa的值,其中a是1~9之间的某个数字,n是⼀个正整数。
例如,当a=2,n=5时,s=2+22+222+2222+22222=24690.
a=eval(input("请输⼊a的值:"))
n=eval(input("请输⼊n的值:"))
s=0
item=0
for i in range(1,n+1):
item=item*10+a
s=s+item
print("值为:",s)
#输出样例:
请输⼊a的值:3
请输⼊n的值:6
值为: 370368
10.编写程序,实现猜数游戏。在程序中随机⽣成⼀个0~9之间(包含0和9)的随机整数T,让⽤户通
过键盘输⼊所猜的数。如果输⼊的数⼤于T,显⽰“遗憾,太⼤了”;如果⼩于T,显⽰“遗憾,太⼩了”;如此循环,直⾄猜中该数,显⽰“预测N次,你猜中了”,其中N是指⽤户在这次游戏中猜中该随机数⼀共尝试的次数。
import random
rnd=random.randint(0,9)
print("系统刚随机产⽣了⼀个0~9之间的⼀个整数")
user=int(input("请输⼊你猜的数"))
k=0
while1:
k=k+1
if user>rnd:
print("遗憾,太⼤了")
user=int(input("请继续输⼊你猜的数"))
elif user<rnd:
print("遗憾,太⼩了")
user=int(input("请继续输⼊你猜的数"))
else:
print("预测{}次,你猜中了".format(k))
break
#输出样例:
系统刚随机产⽣了⼀个0~9之间的⼀个整数
请输⼊你猜的数9
遗憾,太⼤了
请继续输⼊你猜的数5
遗憾,太⼩了
请继续输⼊你猜的数8
遗憾,太⼤了
请继续输⼊你猜的数7
预测4次,你猜中了
11.编写程序,产⽣两个0~100之间(包含0和100)的随机整数RND1和RND2,求这两个整数的最⼤公约数和最⼩公倍数。
import math
import random
RND1=random.randint(0,100)
RND2=random.randint(0,100)
d(RND1,RND2)
gbs=RND1*RND2/gys
print("{}和{}的最⼤公约数为:{},最⼩公倍数为:{}".format(RND1,RND2,gys,gbs))
#输出样例:
59和43的最⼤公约数为:1,最⼩公倍数为:2537.0
12.编写程序模拟硬币的投掷。假设0表⽰硬币反⾯,1表⽰硬币正⾯。在程序中让计算机产⽣若⼲次(建议⼤于100次)随机数,统计0和1分别出现的次数,并观察0和1出现的次数是否相同。
import random
num0=0
n=eval(input("请输⼊你要模拟投掷硬币的次数:"))
for i in range(n):
rnd=random.randint(0,1)
if rnd==0:
num0=num0+1
num1=n-num0
print("硬币反⾯{}次,硬币正⾯⾯{}次".format(num0,num1))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。