Python基础_练习01

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

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值