1. 设计一个程序,帮助小学生练习10以内的加法
详情:
- 随机生成加法题目;
- 学生查看题目并输入答案;
- 判别学生答题是否正确?
- 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);
代码:
import random
count = 0
correct = 0
while True:
a = random.randint(1, 10)
b = random.randint(1, 10)
sum = a + b
print('%d + %d = '%(a, b), end='')
asw = int(input())
count += 1
if asw == sum:
print('correct')
correct += 1
else:
print('wrong')
while True:
choice = input('(c)继续 (q)退出:')
if choice == 'q':
per = (correct/count)*100
print('总题数:%d 正确数:%d 正确率:%.2f' %(count, correct, per))
exit(0)
elif choice == 'c':
break
else:
print('请输入正确选项')
运行结果:
2. 小学生算术能力测试系统:
设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:提供10道加、减、乘或除四种基本算术运算的题目;练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。
代码:
import random
set = set()
for i in range(int(input('N = '))):
set.add(random.randint(1, 1000))
print(sorted(set))
运行结果:
3. 算法之指定范围内判断
1). 若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。
代码:
res = []
n = int(input('n = '))
for i in range(1, n):
if not n % i:
res.append(i)
if n == sum(res):
print('%d是完全数' %n)
else:
print('%d不是完全数' %n)
运行结果:
2). 输入一个正整数,判断其是否为一个素数
代码:
n = int(input('n = '))
for i in range(2, n):
if not n % i:
print('%d不是素数' %n)
break
else:
print('%d是素数' %n)
运行结果:
3). 输入一个正整数,判断其是否为一个回文数(例1221、12321都是回文数);
代码:
n = int(input('n = '))
back = 0
N = n
if n < 0:
print('Fauls')
else:
while N:
back = back * 10 + N % 10
N //= 10
else:
print(back == n)
运行结果:
4. 累加和类型程序:
1). 求f=1+2+...+9【很简单的问题】
代码:
sum = 0
for i in range(1, 10):
sum += i
print(sum)
运行结果:
2). 求f=1-2+3-4+...+9【在(一)的基础上,学习如何一正一负地累加】
代码:
sum = 0
for i in range(1, 10):
if i % 2:
sum =+ i
else:
sum -= i
print(sum)
运行结果:
3). 求f=1-1/2+1/3-1/4+...+1/9【在(二)的基础上,被加数成了自然数的倒数】
代码:
sum = 0
for i in range(1, 10):
sum += 1/i
print(sum)
运行结果:
4). 求f=1!-2!+3!-4!+...+9!【在(二)的基础上,被加数成了自然数的阶乘】
代码:
sum = 0
for i in range(1,10):
asw = 1
for j in range(1, i+1):
asw *= j
sum += asw
print(sum)
运行结果:
5. 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
代码:
count = 0
a = 0.08
h = 8848130
while h > 0:
h -= a
count += 1
print(count)
运行结果:
6. .控制台输出九九乘法表
代码:
for i in range(1, 10):
for j in range(1, 10):
if i <= j:
asw = i * j
print('%d * %d = %d' %(i,j,asw), end='\t')
print('\n')
运行结果: