【CSDN 竞赛第四期】 一二题解题思路

作为一个接触编程不久的小白第一次参加此类竞赛,还是很开心,很满意:

【CSDN 竞赛第四期】 一二题解题思路_第1张图片

 下面是个人参赛的痕迹:

 

【CSDN 竞赛第四期】 一二题解题思路_第2张图片

这里我使用的语言是python

 前面两道题比较简单,几行代码可以解决。后面两道题看了一下,很复杂,不能简单解决,时间也只剩10分钟(进入比较晚,有点事情耽搁了)了,有时间也不见得写得出来,就交白卷了。。。

和大家简单讲解一下我会的这次的第一二道题目吧。

第一道题目是分段计费的问题,具体题目如下:

夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。

 题目要求保留到小数点后1位。

主要使用三元表达式及其嵌套的用法,代码如下:

class Solution:
    def __init__(self)->None:
        pass
    def solution(self,amount):
        result=None

        # TODO: 请在此编写代码
        part1=150 if amount>=150 else amount    #低于150部分
        part2=250 if amount>=400 else(0 if amount<=150 else amount-150)    #150-400部分
        part3=amount-400 if amount>400 else 0    #超过400部分
        sum=0.4463*part1+0.4663*part2+0.5663*part3    #总费用
        result=round(sum,1)    #保留到小数点后1位
        return result

if __name__=="__main__":

    amount=int(input().strip())

    s=Solution()
    result=s.solution(amount)

    print(result)

第二道题目是字符串单词逆序处理的问题,具体题目如下:

对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成, 你需要将这些部分逆序。
给定一个原字符串A,请返回逆序后的字符串。例,输入”I am a boy!“输出”boy! a am I“

代码如下: 

class Solution:
    def __init__(self)->None:
        pass
    def solution(self,str):
        result=None

        # TODO: 请在此编写代码
        list=str.split()        #按空格划分获得字符串单词为元素的列表
        list.reverse()        #将列表元素顺序翻转
        result=list
        return result

if __name__=="__main__":

    str=input().strip()

    s=Solution()
    result=s.solution(str)

    print(" ".join(result))    #按空格把列表各元素重新拼接成字符串并且输出

第一次参加这种竞赛,只做了这两道题,不会给大家解析另外两道。

作为一个和大家一样的小白,希望和大家一起努力。

加油,坚持!!!

你可能感兴趣的:(python)