任务一

任务说明:找出所有的水仙花先。水仙花数是指一个三位数,它的每个位上的数字3次方之和等于它本身(例如,13+53+3**3 = 153)。

1
2
3
4
5
6
7
8
9
10
11
12
13
def test1():
for i in range(100, 1000):

a = i // 100

b = (i % 100) // 10

c = i % 10

if (a * a * a + b * b * b + c * c * c == i):
print(i)

test1()

结果:

任务二

任务说明:利用循环语句打印出九九乘法表。

1
2
3
4
5
6
7
def test2():
for i in range(1, 10):
for j in range(1, i + 1):
print("%d*%d=%d" % (i, j, i * j), end=" ")
print("\n")

test2()

结果:

任务三

任务说明: 找出1000以内所有的完全数。完全数是一些特殊的自然数,它的所有真因子(除自身以外的因子)的和恰好等于它本身(例如,6=1+2+3)。

1
2
3
4
5
6
7
8
9
10
11
12
def test3():
result = []
for i in range(1, 1000):
s = 0
for j in range(1, i):
if i % j == 0:
s += j
if s == i:
result.append(str(i))
return " ".join(result)

print("1000以内的完全数有:{}".format(test3()))

结果:

任务四

任务说明:无穷级数 4/1-4/3+4/5-4/7+….的和是圆周率π。

(1)请写一个程序计算出这一级前n项的和。

(2)请利用该多项式求出误差小于10-6的圆周率π,真实值π可以使用math.PI。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def test4():
n = int(input("输入一个n值:"))
pi = 0.0
fuhao = 1;
for i in range(1, n):
if fuhao == 1:
pi += (1 / ((i * 2) - 1))
else:
pi -= (1 / ((i * 2) - 1))
#print(4 * pi)
PI = 4 * pi
fuhao = fuhao * -1
print (PI)
test4()

结果:

任务五

素数求和

任务说明:找出300以内的所有素数,并对它们求和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def test5():
sum = 0
value = 0
for i in range(0, 300):
if i == 1:
continue
v = True
for j in range(2, i):
if i % j == 0:
v = False
break
if v:
sum += i
value += 1
print(value, sum)
test5()

结果:

任务六

斐波那契数列

任务说明:斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,…..。这个数列从第3项开始,每一项都等于前两项之和,请编程实现输出该数列的前n项。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def test6():
n = int(input("输入一个正整数:"))

n1 = 1
n2 = 1
count = 2

if n == 1:
print("斐波那契数列:")
print(n1)
else:
print("斐波那契数列:")
print(n1, ",", n2, end=" , ")
while count < n:
nth = n1 + n2
print(nth, end=" , ")
# 更新值
n1 = n2
n2 = nth
count += 1
test6()

结果:

任务七

猜数游戏

任务说明:在程序中随机生成一个0〜9之间(包含0和9)的随机整数T,让用户通过键盘输入所猜的数。如果输入的数大于T显示“遗憾,太大了”;如果输入小于T显示“遗憾,太小了”;如此循环,直至猜中该数,显示“猜了N次,你猜中了”,
其中N是指用户在这次游戏中猜中该随机数一共尝试的次数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import random
def test7():
i = 1
a = random.randrange(10)
while True:
b = int(input("输入所猜的数:"))
if a > b:
print("遗憾,太大了")
elif a < b:
print("遗憾,太小了")
else:
break
i = i + 1
print("猜了%d次,你猜中了" % i)
test7()

结果: