用户:
盒子的box查看:13 回复:3 评论:13 创建时间:2020-03-18T13:22:42
【作品展示】

【作品介绍】
BUGBUG!谁来帮帮我!
奖励300源码币!
要求:
效果和https://shequ.codemao.cn/community/256254上的差不多。
【作品源代码】
t1 = ('A', 'B', 'C', 'D', 'E', 'F')
t2 = ('10', '11', '12', '13', '14', '15')
def out():
global num
for i in num:
if (i in t2):
j = list(t2)
num[j.index(i)] = t1[j.index(i)]
print('结果是', ''.join(num))
while True:
try:
a = 0
b = 0
num = list(input('初始值是多少?'))
for i in num:
if (i in t1):
j = list(t1)
num[j.index(i)] = t2[j.index(i)]
jz = int(input('此值为几进制?'))
tjz = int(input('转换为几进制?'))
if (jz == tjz):
out()
else:
for i in range(len(num)):
a += (int(num[b]) * (jz ** (len(num) - b - 1)))
b += 1
num = [str(a % tjz)]
a = a // tjz
while (a != 0):
num = [str(a % tjz)] + num
a = a // tjz
out()
except:
print('程序出错了emmm......')
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn如果是想修复Bug,这样肯定不行
如果我遇到了Bug,我会把try...except语句注释,然后再做一次,看一下是什么错误。如果只打印“程序出错了emmm......”是不知道错在哪的
点赞0
评论
我正在测试你的代码。。。。
Error1:
IndexError: list assignment index out of range
含义:列表出超出范围的赋值索引
分析:num只有2项,而j.index(i)返回的是5,所以报错
解决:需要设置在相应的索引去更改内容
点赞0
评论
调试完成。
t1 = ('A', 'B', 'C', 'D', 'E', 'F')
t2 = ('10', '11', '12', '13', '14', '15')
def out():
global num
for i in num:
if (i in t2):
j = list(t2)
num[j.index(i)] = t1[j.index(i)]
print('结果是', ''.join(num))
while True:
try:
a = 0
b = 0
num = list(input('初始值是多少?'))
#出错位置:从此//
index=0#项数
for i in num:
if (i in t1):
j = list(t1)
num[index] = t2[j.index(i)]
index+=1#迭代计算正确的项数
#至此//
jz = int(input('此值为几进制?'))
tjz = int(input('转换为几进制?'))
if (jz == tjz):
out()
else:
for i in range(len(num)):
a += (int(num[b]) * (jz ** (len(num) - b - 1)))
b += 1
num = [str(a % tjz)]
a = a // tjz
while (a != 0):
num = [str(a % tjz)] + num
a = a // tjz
out()
except Exception as e:#便于调试
print('程序出错了emm......\n(Error:%s\ndescribe:%s'%(str(e),str(repr(e))))点赞0
评论