03-08算法编程题 -4

1、 将十六进制数转换为十进制

知识点补充:

1、字符串可被遍历和切片 ,但是不能使用del 、append等函数,需要使用时需转换为list

s='0xada67'
b=s.strip('0x')
print(b)

c=s.replace('0x','')
print(c)
d=c[::-1]
print(d)

返回:
ada67
ada67
76ada

for i ,j in enumerate(c):
    print(i+j)  
    返回: TypeError: unsupported operand type(s) for +: 'int' and 'str'
    枚举返回的是  index(是整型) + str(子字符串)

s='wewewe'
del s[4]
print(s[3])

返回:TypeError: 'str' object doesn't support item deletion
while True:
	a=int(input().strip('0x'))  #此处int错误,int()转换为10进制,此时输入
	          #的是十六进制 ,int(base,10) 将base转为10进制
	s=list(a)[::-1]  #此处list 没必要,因为字符串也可以被遍历
	dict={'0':0,....'9':9,'A':10,...'F':15}
	num=0
	for i in  a: #这样遍历错误,因为进制转换既需要index,还需要字符 如:8*16**2 
	for i,j in enumerate(a[::-1]):
		num+=dict[j]*(16**i)
	print(num)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值