六进制数=str(input('请输入一个六进制数')) 十进制数=0 for i in 六进制数: 十进制数+=6**(int(len(六进制数))-i)*float(十进制数[i]) print(十进制数)哪出错了
时间: 2023-08-28 21:17:18 浏览: 94
使用汇编语音实现输入一个十进制数,显示对应的十六进制
5星 · 资源好评率100%
这段代码有几个问题:
1. 在Python中,字符串不能像列表一样索引,因此需要使用 `六进制数[i]` 而不是 `十进制数[i]`。
2. 在计算十进制数时,应该使用 `int` 而不是 `float`,因为六进制数只包含整数。
3. 在计算十进制数时,指数应该是从右到左递减的,因此应该使用 `6 ** (int(len(六进制数)) - i - 1)` 而不是 `6 ** (int(len(六进制数)) - i)`。
下面是修改后的代码:
```
六进制数 = str(input('请输入一个六进制数'))
十进制数 = 0
for i in range(len(六进制数)):
十进制数 += 6 ** (int(len(六进制数)) - i - 1) * int(六进制数[i])
print(十进制数)
```
阅读全文