zoukankan      html  css  js  c++  java
  • 【python解题笔记20210318】CodeWars:RGB To Hex Conversion

    题目

    内容:输入RGB数字(有效范围0~255),将其转换成十六进制的结果

    链接:https://www.codewars.com/kata/513e08acc600c94f01000001/train/python

    截图:

        

    解题

    思路: 

    1、将范围外的输入,转成0或者255

    2、将十进制整数rgb转换十六进制+转成字符串+去掉前缀0x+将小写转换成大写

    3、如果得到的结果只有1位数,则前面补0

    结果:

       

    源码:

    def rgb(r, g, b):
        """
        输入RGB数字(有效范围0~255),将其转换成十六进制的结果
        :param r: red参数
        :param g: green参数
        :param b: blue参数
        :return: RGB拼接后的十六进制字符串
        """
        #将范围外的输入,转成0或者255
        if r<0:
            r=0
            pass
        elif r>255:
            r=255
            pass
        if g<0:
            g=0
            pass
        elif g>255:
            g=255
            pass
        if b<0:
            b=0
            pass
        elif b > 255:
            b = 255
            pass
        #将十进制整数rgb转换十六进制+转成字符串+去掉前缀0x+将小写转换成大写
        r = str(hex(r))[2:].upper()
        g = str(hex(g))[2:].upper()
        b = str(hex(b))[2:].upper()
        #如果得到的结果只有1位数,则前面补0
        if len(r)==1:
            r='0'+r
            pass
        if len(g)==1:
            g='0'+g
            pass
        if len(b)==1:
            b='0'+b
            pass
        #返回拼接的RGB十六进制字符串
        return r+g+b

    知识点

    1、hex()函数将十进制转成十六进制。

    2、str()函数将数字转成字符串。

    3、str[num1:num2]可以做字符串截取,去掉前面的num1位,以及后面的num2位。

    4、upper()函数将小写转成大写字母,如果传入数字也不会报错。

    参考资料:

    https://blog.csdn.net/qq_34783484/article/details/97654167

    https://jingyan.baidu.com/article/8cdccae9bded64705413cdd8.html

  • 相关阅读:
    JavaScript快速入门-ECMAScript本地对象(String)
    JavaScript快速入门-ECMAScript语句
    Zabbix实战-简易教程--业务类
    [转] STL源码学习----lower_bound和upper_bound算法
    [转] C++中临时对象及返回值优化
    二叉堆,优先队列,二叉树的理解
    [转] GCC __builtin_expect的作用
    [转] __thread关键字
    C++初始化顺序
    [转] shared_from_this 几个值得注意的地方
  • 原文地址:https://www.cnblogs.com/chooperman/p/14556967.html
Copyright © 2011-2022 走看看