循环语句练习

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

运行结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值