Python中循环语句的经典问题

#########循环语句的经典问题#########

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')

####################################

猜你喜欢

转载自blog.csdn.net/houzeyu666/article/details/81840753