【问题标题】:Error detection in basic code [closed]基本代码中的错误检测[关闭]
【发布时间】:2016-10-07 17:11:14
【问题描述】:

我的代码中有一些错误,我无法检测到它是什么。我正在寻找这个结果:[0.25 , 0.4 , 0.5]

下面是我的代码:

def divide_list (list1 , list2 ):

list_out = []
for number1 in list1 :
for number2 in list2 :
list_out . append ( number1 / number2 )
return list_out

# Test case
print divide_list ([1 ,2 ,3] ,[4 ,5 ,6])

【问题讨论】:

  • 而你会得到什么结果?
  • (1.) 请修正您的缩进,以便我们运行您的代码。 (2.) 请提供实际和预期的输出。
  • 你的错误是什么?如果您合理地期待答案,您必须提供这些基本信息。 How to Ask
  • @jonrsharpe:为什么要删除所有缩进?现在代码更糟糕了。
  • @MarcB 我将其恢复为 OP 的原始(无)缩进。

标签: python


【解决方案1】:

首先,您似乎有一个 IndentationError 并且点周围有多余的空间:

def divide_list(list1, list2):
    list_out = []
    for number1 in list1:
        for number2 in list2:
            list_out.append(float(number1) / float(number2))
    return list_out

# Test case
print divide_list([1 ,2 ,3], [4 ,5 ,6])

我还添加了一些 PEP 8 格式。下次,请尝试向回答者提供有关该问题的一些信息。

  • python 中需要缩进
  • 默认情况下,在 Python 2 中,整数除以整数总是返回整数
  • 注意代码格式 - 查看我所做的更改以使代码看起来更好。一般关注PEP 8

【讨论】:

  • 嗨 CrazyPython,感谢您的意见。所以通过做这个小改动并将类型更改为 Float 我将得到 [0.25 , 0.4 , 0.5] 输出?无论如何你可以检查一下吗?
  • @Liza.N 是的,我可以将它粘贴到 python 文件中并运行它。
  • 太好了..非常感谢您的帮助。:)
  • @Liza.N 接受答案,如果您认为它有用,请点赞:)
  • “默认情况下,在 Python 3 中,整数除以整数总是返回整数”你的意思是在 Python 2 中吗?
【解决方案2】:

默认情况下,Python 2 使用整数除法。您可以使用from __future__ import division 强制所有除法默认产生浮点数,或者您可以使用float() 构造函数强制一个或多个数字浮点数,或者通过添加一个保持相等的浮点运算(@987654323 @、1.0 * x 等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多