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