簡體   English   中英

為什么我的進口 function 不能在 main 中工作?

[英]Why won't my imported function work in main?

這是我嘗試導入以使其適用於項目的代碼。

import random

def ReturnHit(denominator,numerator):

  if (denominator == 0):
    denominator = 1
  if (numerator == 0):
    numerator = 1

  num = random.randint(1,denominator)
 #if num is less than a the numberator then return yes on the hit
  if (num < numerator):
    return True
  else:
    return False


def ReturnApproxCurvedHit(average,lowerLimit,upperLimit):
  #return true or false based on probability position in the bell curve
  n = range(lowerLimit,upperLimit)
  for i in n:
    if(ReturnHit(1,abs(average - i)*2)):
      return True
    else:
      return False

然后是我的主要設置功能以測試我是否正確導入了所有內容。 我的測試功能工作得很好,甚至可以完美地返回所有內容。 測試 function 說“你好”,當然返回“0”。 但是 stat.py 文件不允許我使用 ReturnHit。

#I need to find a way to test the stat.py
import stat
import module


module.say_hello()
z = module.zero()

print(z)

stat.ReturnHit(1,10)

它吐出一個錯誤:

Traceback (most recent call last):
  File "main.py", line 11, in <module>
    stat.ReturnHit(1,10)
AttributeError: module 'stat' has no attribute 'ReturnHit'

順便說一句,我正在重新制作。

模塊stat是 Python 附帶的內置模塊。 由於在解析導入時首先搜索內置模塊,因此當您編寫import stat時,您將獲得該模塊,而不是您的本地stat.py模塊。

要解決這個問題1 ,您需要將stat.py重命名為其他名稱(盡管不是statistics ,這將有同樣的問題)。


1或者,您可以繞過默認模塊搜索路徑並直接從其文件路徑導入您的stat.py模塊,但這不是常見或推薦的做法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM