Python基础---课后作业1

1.设计一个程序,帮助小学生练习10以内的加法

#详情:
#- 随机生成加法题目;
#- 学生查看题目并输入答案;
#- 判别学生答题是否正确?
#- 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);
代码:

import random
count=0
true_number=0
while True:
    num1=random.randint(0,9)
    num2=random.randint(0,9)
    num=num1+num2
    count+=1
    print('{}+{}='.format(num1,num2))
    student_number=input('请输入答案:')
    if student_number=="exit":
        break
    elif num==int(student_number):
        print('回答正确!')
        true_number+=1
    else:
        print('错误')

percent=true_number/count
print('答题总数:%d,正确数量:%d' %(count,true_number))
print('正确率:%.2f%%' %(percent*100))

运行结果:
在这里插入图片描述
#2. 小学生算术能力测试系统:
#设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:
#提供10道加、减、乘或除四种基本算术运算的题目;
#练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。
此程序代码有点繁琐,可以进行合并,读者可以自己尝试
代码:

import random
op=['+','-','*','/']
for i in range(10):
    if i<=9:
        s=random.choice(op)
        true_number=0
        num1=random.randint(0,99)
        num2=random.randint(0,99)
        if s=='+':
            print('{}+{}='.format(num1,num2))
            true_number=(num1+num2)
            result=int(input('请输入答案:'))
            if result==true_number:
                print('true')
            else:
                print('wrong.正确答案为{}'.format(true_number))
        elif s=='-':
            print('{}-{}='.format(num1,num2))
            true_number=(num1-num2)
            result=int(input('请输入答案:'))
            if result==true_number:
                print('true')
            else:
                print('wrong.正确答案为{}'.format(true_number))
        elif s=='*':
            print('{}*{}='.format(num1,num2))
            true_number=(num1*num2)
            result=int(input('请输入答案:'))
            if result==true_number:
                print('true')
            else:
                print('wrong.正确答案为{}'.format(true_number))

        else:
            print('{}/{}='.format(num1,num2))
            true_number=(num1/num2)
            result=float(input('请输入答案:'))
            if result==true_number:
                print('true')
            else:
                print('wrong.正确答案为{}'.format(true_number))
    else:
    	   print('出题结束!')

出十道题后,程序运行结束
在这里插入图片描述

3.算法之指定范围内判断
#1). 若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。
#2). 输入一个正整数,判断其是否为一个素数

判断完全数代码:

num=int(input('请输入一个整数:'))
sum=0
for i in range(1,num):
    if num%i==0:
        sum+=i
        print('%d的因子有%d' %(num,i))
    else:
        continue
if sum==num:
    print('%d是完全数' %num)
else:
    print('%d不是完全数' %num)

在这里插入图片描述

判断素数代码:

  num=int(input('请输入一个整数:'))
    if num>1:
        for i in range(2,num):
            if(num%i)==0:
                print('%d不是质数' %num)
                break
            else:
                print('%d是质数' %num)
                break
    else:
        print('%d不是质数' %num)

在这里插入图片描述

题目描述:
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前>后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

输入描述:
输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)

输出描述:
对于每个测试示例,要求输出句子中单词反转后形成的句子

示例1:

  • 输入
    hello xiao mi
  • 输出
    mi xiao hello

代码:

sentence=str(input('请输入句子:'))
s=sentence.split(' ')
print(' '.join(s[::-1]))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_37206112/article/details/84311936