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