【问题标题】:Statement seems to have no effect hex to dec converter声明似乎没有效果十六进制到十进制转换器
【发布时间】:2020-03-03 16:31:00
【问题描述】:

当我尝试使用我的十六进制到十进制转换器时,我在将“E”分配给 14 的这一行出现错误,它表示该语句无效

def hex2dec(n):
res = [x for x in n]
for i in range (len(res)):
    if res[i] == 'A' or res[i] == 'a':
        res[i] = 10
    if res[i] == 'B' or res[i] == 'b':
        res[i] = 11
    if res[i] == 'C' or res[i] == 'c':
        res[i] = 12
    if res[i] == 'D' or res[i] == 'd':
        res[i] = 13
    if res[i] == 'E' or res[i] == 'E': ##no effect
        res[i] == 14
    if res[i] == 'F' or res[i] == 'f': 
        res[i] = 15
res2 = [int(x) for x in res]
return res2

【问题讨论】:

  • 我的代码没有完成我已经完成了实际覆盖过程的逻辑只是没有粘贴在这里,这只是将输入的每个元素单独放在一个列表中
  • 请考虑使用列表或字典代替 26 个 if/else 语句...
  • E/E -> E/e if res[i] == 'E' or res[i] == 'E': -> if res[i] == 'E' or res[i] == 'e':

标签: python hex effect


【解决方案1】:

这是因为您使用了双等号 == 而不是单等号 === 用于逻辑评估,而= 用于为变量赋值。其次,您在“E”条件语句中有错字。第二个条件应该是小写的“e”。另外,请考虑使用列表或字典来代替 26 个 if/else 语句!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    相关资源
    最近更新 更多