Python RGB 和十六进制颜色字符串转换

Python RGB 和十六进制颜色字符串转换

题目描述

将 #FFFFFF 和 rgb(255, 255, 255) 两种形式的字符串进行相互转换。

输入

输入多行,每一行形如题目中的字符串。
保证字符串形如 #[num1][num2][num3] 或者 rgb([num1], [num2], [num3])。

输出

对于对应的输入,输出另一种格式的字符串。

样例输入

#FFFFFF
rgb(255, 255, 255)

样例输出

rgb(255, 255, 255)
#FFFFFF

运行代码

while(1):
    try:
        inputstr=input()
        if(inputstr[0]=="#"):
            str1=inputstr[1:3]
            str2=inputstr[3:5]
            str3=inputstr[5:7]
            num1=int('0x'+str1,16)
            num2=int('0x'+str2,16)
            num3=int('0x'+str3,16)
            print("rgb(%s, %s, %s)" % (str(num1),str(num2),str(num3)))
        else:
            list=inputstr.split(',')
            str1=list[0][4:]
            str2=list[1][1:]
            str3=list[2][1:-1]
         	# hex返回的字母A~F均为小写字母a~f,根据样例输出,用upper函数把字母全部转为大写
            hex1=hex(int(str1))[2:].upper()
            hex2=hex(int(str2))[2:].upper()
            hex3=hex(int(str3))[2:].upper()
            # 十进制转16进制时会出现缺省零的情况,用rjust函数可在字符串左侧填充0
            # 同理 ljust函数可在字符串的右侧填充0
            hex1 = hex1.rjust(2, '0')
            hex2 = hex2.rjust(2, '0')
            hex3 = hex3.rjust(2, '0')
            outputstr="#"
            outputstr=outputstr+hex1+hex2+hex3
            print(outputstr)
    except:
        break
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值