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("請輸入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
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位小數),
gdxwlz=1
for i in range(1,366):
if i%6==0 or i%7==0:
gdxwlz=gdxwlz*(1-0.01)
else:
gdxwlz=gdxwlz*(1+0.01)
print("郭大俠的最終武力值為:{:.2f}".format(gdxwlz))
#輸出結果:
郭大俠的最終武力值為: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個糖果
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/276695.html
標籤:其他
上一篇:拼多多2021-04-09春招筆試 服務端開發 解題報告 Apare_xzc
下一篇:Unity游戲存盤(一)
