1.输入年、月,输出本月有多少天。合理选择分支语句完成设计>任务。
输入样例1:2004 2
输出结果1:本月29天
输入样例2:2010 4
输出结果2:本月30天
代码:
year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
if ((year%4 == 0 and year%100 != 0) or (year%400 == 0)):
if month == 2:
print('本月28天')
elif month == 1 and 3 and 5 and 7 and 8 and 10 and 12:
print('本月31天')
else:
print('本月30天')
else:
if month == 2:
print('本月29天')
elif month == 1 and 3 and 5 and 7 and 8 and 10 and 12:
print('本月31天')
else:
print('本月30天')
运行结果:
2.用 if 判断输入的值是否为空?如果为空,报错Error
代码:
data = input('请输入数值:')
if data == '':
print('Error:输入为空!')
else:
print('输入的值为:%s' %(data))
运行结果:
3.根据用于指定月份,打印该月份所属的季节。
**提示: 3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季
代码:
month = int(input('请输入月份:'))
if month >= 3 and month <= 5:
print('%d月是春季' %(month))
elif month >= 6 and month <= 8:
print('%d月是夏季' %(month))
elif month >= 9 and month <= 11:
print('%d月是秋季' %(month))
else :
print('%d月是冬季' %(month))
运行结果:
3.设计一个程序,帮助小学生练习10以内的加法
详情:
----随机生成加法题目;
----学生查看题目并输入答案;
----判别学生答题是否正确?
----退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);
代码:
import random
count = 1
true = 0
while True:
i = random.randint(1,10)
j = random.randint(1,10)
print('题目%d:%d + %d = ' %(count,i,j))
sum = i + j
count += 1
answer = int(input('请输入答案:'))
if answer == sum:
print('回答正确!')
true += 1
else:
print('回答错误!')
judge = input('是否退出(y/n):')
str = 'y'
if judge == str:
break
else:
print('~~~~~~~~~~~~~~')
truepercent = true / (count+1)
print('答题总数:%d' %(count+1))
print('正确数量:%d' % true)
print('正确率:%.2f' % truepercent)
运行结果:
4.小学生算术能力测试系统:
设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:
----提供10道加、减、乘或除四种基本算术运算的题目;
----练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。
代码:
import random
op = ['+','-','*','/']
count = 1
true = 0
for i in range(10):
num1 = random.randint(1,100)
num2 = random.randint(1,100)
s = random.choice(op)
answer = float(input('题目%d:%d %s %d = ' %(count,num1,s,num2)))
count += 1
if answer == eval("%d %s %d" %(num1,s,num2)):
print('回答正确!')
true += 1
else:
print('回答错误!')
print('正确答案为:%.2f' %(eval("%d %s %d" %(num1,s,num2))))
truepercent = true / (count-1)
print('正确数量:%d' % true)
print('正确率:%.2f' % truepercent)
运行结果:
5. 算法之指定范围内判断
1). 若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。
2). 输入一个正整数,判断其是否为一个素数。
代码:
n = int(input('请输入一个正整数:'))
factor = 0
for i in range(1,n):
if n % i == 0:
factor += i
else:
continue
i += 1
if n == factor:
print('%d是完全数!' % n)
else:
print('%d不是完全数!' % n)
print('~~~~~~~~~~~~~~~~~~')
num = int(input('请输入一个正整数:'))
prime = 0
if num == 1:
print('1不是素数')
else:
for i in range(2,num):
if num % i == 0:
prime += i
else:
continue
i += 1
if prime == 0:
print('%d是素数' %num)
else:
print('%d不是素数' %num)
运行结果:
6. 题目描述:
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。
比如: (1) “hello xiao mi”-> “mi xiao hello”
输入描述:
----输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
输出描述:
----对于每个测试示例,要求输出句子中单词反转后形成的句子
示例1:
输入
hello xiao mi
输出
mi xiao hello
代码:
s = input('输入:')
s = s.split(' ')
print('输出:%s' %(' '.join(s[::-1])))
运行结果: