1. 设计一个程序,帮助小学生练习10以内的加法
详情:
- 随机生成加法题目;
- 学生查看题目并输入答案;
- 判别学生答题是否正确?
- 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);
import random
correct = 0
worry = 0
ti = 0
while True:
a = random.randint(1,10)
b = random.randint(1,10)
print("%d+%d=" %(a,b))
ti += 1
d=input()
c = a + b
if d == "exit":
break
elif c == int(d):
correct += 1
print("正确")
else:
worry += 1
print("错误")
e = (float(correct)/float(ti))*100
print("答题总数为%d,正确数为%d,正确率为%.2f%%" %(ti,correct,e))
2. 小学生算术能力测试系统:
设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:提供10道加、减、乘或除四种基本算术运算的题目;练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。
import random
correct = 0
worry = 0
ti = 0
li = ['+','-','*','/']
while ti < 10:
li1 = random.choice(li)
a = random.randint(1,100)
b = random.randint(1,100)
print("%d%s%d=" %(a,li1,b))
ti += 1
d=float(input())
if d == "exit":
break
elif li1 == '+':
if d == a+b:
print("正确")
else:
print("错误")
elif li1 == '-':
if d == a-b:
print("正确")
else:
print("错误")
elif li1 == '*':
if d == a*b:
print("正确")
else:
print("错误")
elif li1 == '/':
if d == a/b:
print("正确")
else:
print("错误")
else:
print("练习结束")
3. 算法之指定范围内判断
1). 若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。
a = int(input("num:"))
b = 0
for i in range(1,a):
if a%i == 0:
b += i
if b == a:
print("%d是完全数" %(a))
else:
print("%d不是完全数" %(a))
2). 输入一个正整数,判断其是否为一个素数
a = int(input("num:"))
b = 0
for i in range(1,a):
if a%i == 0:
b = i
if b == 1:
print("%d是素数" %(a))
else:
print("%d不是素数" %(a))
3). 输入一个正整数,判断其是否为一个回文数(例1221、12321都是回文数);
num = input("num:")
if num == num[::-1]:
print("%s是回文数" %(num))
else:
print("%s不是回文数" %(num))
4. 累加和类型程序:
1). 求f=1+2+...+9【很简单的问题】
b = 0
for i in range(1,10):
b += i
print(b)
2). 求f=1-2+3-4+...+9【在(一)的基础上,学习如何一正一负地累加】
b = 0
c = 0
for i in range(1,10,2):
b += i
for i in range(2,10,2):
c -= i
d = b + c
print(d)
3). 求f=1-1/2+1/3-1/4+...+1/9【在(二)的基础上,被加数成了自然数的倒数】
b = 0
c = 0
for i in range(1,10,2):
b += 1/i
for i in range(2,10,2):
c -= 1/i
d = b + c
print(d)
4). 求f=1!-2!+3!-4!+...+9!【在(二)的基础上,被加数成了自然数的阶乘】
b = 0
c = 0
for i in range(1,10,2):
e = 1
for a in range(1,i+1):
e *= a
b += e
for i in range(2,10,2):
e = 1
for f in range(1,i+1):
e *= f
c -= e
d = b + c
print(d)
5. 控制台输出九九乘法表
for i in range(1,10):
for n in range(1,10):
if i <= n:
print("%s×%s=%s" %(i,n,i*n),end=' ')
print()