0

申し訳ありませんが、私はPython言語の初心者であり、この問題にはかなり長い間行き詰まっています。実際には、降順と昇順のモジュールを作成して、ユーザーが入力したリストの降順と昇順を作成したいと考えています。しかし、私はそれを機能させることができませんでした。メインの python ファイルは pythonaslab.py で、昇順と降順のモジュールは selectionmodule.py です。コード:

これは選択モジュールです:

import pythonaslab
def ascendingselection():
        for q in range(len(b)):
                w=q+1
                for w in range(len(b)):
                        if b[q]>b[w]:
                                f=b[q]
                                b[q]=b[w]
                                b[w]=f
        print b
def descendingselection():
        for q in range(len(b)):
                w=q+1
                for w in range(len(b)):
                        if b[q]<b[w]:
                                f=b[q]
                                b[q]=b[w]
                                b[w]=f
        print b

これがメイン ファイルの pythonaslab です。

import selectionmodule
a = int(input())
b = [int(input()) for _ in range(a)]
print b
print "1.ascending 2.descending"
c=input()
if c==1:
        selectionmodule.ascendingselection()
if c==2:
        selectionmodule.descendingselection()

私が得たこのすべてのエラーの原因はどこにあるのか教えてもらえますか?

Traceback (most recent call last):
  File "E:\Coding\pythonaslab.py", line 1, in <module>
    import selectionmodule
  File "E:\Coding\selectionmodule.py", line 1, in <module>
    import pythonaslab
  File "E:\Coding\pythonaslab.py", line 16, in <module>
    selectionmodule.descendingselection()
AttributeError: 'module' object has no attribute 'descendingselection'
4

2 に答える 2

0

次のようなモジュール名を使用したくない場合:

selectionmodule.ascendingselection(b)

インポートする必要があります:

from selectionmodule import *

次に、次のように呼び出すことができます。

ascendingselection(b) # without module name

または、モジュールをインポートしてエイリアス名を割り当てることもできます:

import selectionmodule as o
o.ascendingselection(b) # with alias name

詳細については、次を参照してください: import confusion

于 2013-10-12T11:26:49.030 に答える