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!=0 or i%5==0:
        continue
    print(i,end=" ")


#输出结果:

3 6 9 12 18 21 24 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==0 and 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 1908
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("xx请输入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)


#输出样例:

 

xx请输入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
while 1:
    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)
gys=math.gcd(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))
    



#输出样例:

请输入你要模拟投掷硬币的次数:6
硬币反面4次,硬币正面面2次

13.编写程序,计算“天天向上”和“天天向下”两种情况下的武力值。假设一年有365天,郭大侠第一天的武力值为1.如果郭大侠每天勤于练功,每天武力值相比前一天会增加1%;如果郭大侠每天不练功,每天武力值相比前一天会减少1%。郭大侠制定了一年的练功计划:从第一天开始,前五天每天练功,然后休息两天;接下来又练功五天,休息两天;如此往复,请计算一年后,郭大侠的最终武力值(结果保留2位)

k=1
for i in range(1,366):
    if i%6==0 or i%7==0:
        k=k*(1-0.01)
    else:
        k=k*(1+0.01)
print("郭大侠的最终武力值为:{:.2f}".format(k))


#输出结果:

郭大侠的最终武力值为:4.72

14.编写程序,计算糖果总数。假设有一盒糖果,按照如下方式从中取糖果:
一个一个地取,正好取完
两个两个地取,还剩一个
三个三个地取,正好取完
四个四个地取,还剩一个
五个五个地取,还差一个
六个六个地取,还剩三个
七个七个地取,正好取完
八个八个地取,还剩一个
九个九个地取,正好取完
请问:这个盒子里至少有多少个糖果?

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


#输出结果:

这个盒子里一共有1449个糖果

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐