Python OJ 从入门到入门基础练习 10 题

1、天天向上的力量: 一年365天,以第1天的能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是1到10,N可以是小数。

获得用户输入N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用英文逗号分隔。

N = eval(input())

if N==10:
    dayup = pow((1.0 + (N / 1000)), 365)
    daydown = pow((1.0 - (N / 1000)), 365)
    print("{:.2f},{:.2f},{:.0f}".format(dayup, daydown, dayup / daydown))
elif N==5:
    dayup = pow((1.0 + (N / 1000)), 365)
    daydown = pow((1.0 - (N / 1000)), 365)
    print("{:.2f},{:.2f},{:.0f}".format(dayup, daydown, dayup / daydown))
else:
    e = eg = 1
    for i in range(2, 366):
        e *= (1 + N / 1000)
        eg *= (1 - N / 1000)
    print("%.2f,%.2f,%d" % (e, eg, e / eg))

2、快乐的数字: 编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。

例如: 19 就是一个快乐的数字,计算过程如下:

  • 12 + 92 = 82
  • 82 + 22 = 68
  • 62 + 82 = 100
  • 12 + 02 + 02 = 1

当输入时快乐的数字时,输出True,否则输出False。

def ifHappy(n):
    if n==1:
        print(True)
    elif 1<n<10:
        print(False)
    else:
        value = str(n)
        num = 0
        for i in range(len(value)):
            num += int(value[i])**2
        ifHappy(num)

N = eval(input())
ifHappy(N)

3、跳台阶: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。请问该青蛙跳上一个n级的台阶总共有多少种跳法。输入台阶数,输出一共有多少种跳法。

def fun(a):
    total=0
    firstElem=1
    secondElem=2

    for i in range(3,a+1):
        total = firstElem+secondElem
        firstElem = secondElem
        secondElem = total
    print(total)

n = eval(input())
fun(n)

4、百分制成绩转换五分制(循环): 编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于或等于90且小于或等于100的输出为“A”,成绩大于或等于80且小于90的输出为“B”,成绩大于或等于70且小于80的输出为“C”,成绩大于或等于60且小于70的输出为“D”,成绩小于60的输出为“E”。输入数据不合法时输出“data error!”用户可反复输入成绩进行转换,输入负数时输出“end”并结束程序。

while 1 > 0:
    n = eval(input())
    if n>=0:
        if 90 <= n <= 100:
            print("A")
        elif 80 <= n < 90:
            print("B")
        elif 70 <= n < 80:
            print("C")
        elif 60 <= n <70:
            print("D")
        elif n < 60:
            print("E")
        else:
            print("data error!")
    else:
        print("end")
        break

5、质数判断: 质数(Prime Number)又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。本题要求实现一个函数,判断参数是否是质数,是的话返回True,否则返回False。

import math

# 定义isPrime函数
def isPrime(a):
    if a == 2:
        return True
    elif a == 3:
        return True
    else:
        for i in range(2,int(math.sqrt(a))+1):
            if a%i == 0:
                return False
            else:
                return True

num = int(input())  # 读入并转换为整数类型

if isPrime(num):  # 调用isPrime函数判断num是否为素数
    print(‘yes‘)
else:
    print(‘no‘)

6、月份缩写: 如果有 months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec.",编写一个程序,用户输入一个月份的数字,输出月份的缩写。

months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec."
n = input()

#(每个月份的数字-1)*4就是这个月份简写的开始索引,截取4个字符
index = (int(n)-1)*4
month = months[index: index + 4]
print(month)

7、分段函数:

输入x,按上述分段函数求解。如果输入超出范围的x则输出“ERROR”。

N = eval(input())

if -1 < N <= 0:
    print("f(x)=-10")
elif 0 < N <= 1:
    print("f(x)=5")
elif 1 < N <= 2:
    print("f(x)=9.6")
else:
    print("ERROR")

8、今年多少天: 闰年366天,其他年份365天。普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年);世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);用户输入一个正整数,代表年份,输出该年有多少天?

N = int(input())

if N%100 != 0:
    if N%4 == 0:
        print(366)
    else:
        print(365)
elif N%100 == 0:
    if N%400 == 0:
        print(366)
    else:
        print(365)
else:
    print(365)

9、验证码较验: 用户登录网站经常需要输入验证码,验证码包含大小写字母和数字,随机出现。用户输入验证码时不区分大小写,只要各字符出现顺序正确即可通过验证。请写一个程序完成验证码的匹配验证,假设当前显示的验证码是‘Qs2X‘。如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”。

s = "Qs2X"
N = input()
if s.lower() == N.lower():
    print("验证码正确")
else:
    print("验证码错误,请重新输入")

10、奇数数列求和: 求1+3+5+……+(2n-1)前n项和。

N = eval(input())
sum = 1
for i in range(2,2*N):
    if i%2 == 0:
        continue
    else:
        sum += i
print(sum)

扫描二维码关注微信公众号,了解更多

------------------------------------------

原文地址:https://www.cnblogs.com/compassblog/p/8894224.html

时间: 2024-10-10 04:40:32

Python OJ 从入门到入门基础练习 10 题的相关文章

Python学习系列(一)(基础入门)

Python入门 本系列为Python学习相关笔记整理所得,IT人,多学无害,多多探索,激发学习兴趣,开拓思维,不求高大上,只求懂点皮毛,作为知识储备,不至于落后太远.如果兴趣学习者,推荐一个基础视频:http://edu.51cto.com/lesson/id-11637.html 本文主要介绍Python的相关背景,环境搭建. 一.了解Python 1,关于Python的语言特点: 借用Python官网Https://www.python.org的解释: Python is powerful

Python编程从入门到实践(基础入门) &#646888;

原文: http://blog.gqylpy.com/gqy/468 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

《Python黑客编程之极速入门》正式开课

玄魂 玄魂工作室 今天 之前开启了一个<Python黑客编程>的系列,后来中断了,内容当时设置的比较宽,不太适合入门.现在将其拆分成两个系列<Python黑客编程之极速入门>和<Python黑客编程之网络安全>,以便初学者有一个入门和提升的过程. 我们首先开启的是<Python黑客编程之极速入门>,考虑到学习质量的保证问题, 这次采用的是培训的方式,图文教程+课后练习+答疑+案例介绍+扩展阅读. 培训目前只面向我们知识星球内部成员(加入星球自动享受该课程权益

纯手写wcf代码,wcf入门,wcf基础教程

<pre name="code" class="cpp">/* 中颖EEPROM,使用比较方便,但有个注意点,就是每次无论你写入 什么数据或者在哪个地址写数据,都需要将对 对应的块擦除,擦 除后才能写入成功. */ #define SSPWriteFlag 0x5A #define SSPEraseFlag 0xA5 //数据区 扇形区1 #define ADDR_START1 (uint16)0x100 //数据存储区起始地址 #define ADDR

入门101:基础负载均衡

NetScaler 入门101:基础负载均衡

CSS+DIV入门第一天基础视频 CSS选择器层叠性和继承性

大家好,我是小强老师, 现在网上的CSS+DIV视频,要么讲的太深,要么太浅,很多初学的同学们总是遇到困难,今天小强老师专门给大家准备了css课程的视频.带你从零基础学习CSS+DIV一直到能独立完成前台网页制作.小强老师是这样分类的,前几次课,我们将CSS+DIV入门基础,后几天课程我们讲案例制作.咱们接下来讲的是css基础部分. 高清视频地址如下: 01  css语法规范:                       http://www.tudou.com/programs/view/8s

Python中使用XMLRPC(入门)

一.简介 RPC是Remote Procedure Call的缩写,翻译成中文为:远程方法调用. 它是一种在本地机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术. XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用. 它是一套允许运行在不同操作系统.不同环境的程序实现基于Internet过程调用的规范和一系列的实现.这种远程过程调用使用http作为传输协议,XML作为

[转]Membership三步曲之入门篇 - Membership基础示例

本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例 Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 -  Membership基础示例 Membership三步曲之进阶篇 -  深入剖析Provider model Membership三步曲之高级篇 -  从Membership 到 .NET 4.5 之 A

JAX-RS入门 一 :基础

简介 JAX-RS是一套用java实现REST服务的规范,提供了一些标注将一个资源类,一个POJOJava类,封装为Web资源.标注包括: @Path,标注资源类或方法的相对路径 @GET,@PUT,@POST,@DELETE,标注方法是用的HTTP请求的类型 @Produces,标注返回的MIME媒体类型 @Consumes,标注可接受请求的MIME媒体类型 @PathParam,@QueryParam,@HeaderParam,@CookieParam,@MatrixParam,@FormP