8
A
答えて
34
あなたはおそらく、あなたの作業ディレクトリにrandom.pyまたはrandom.pycという名前のファイルを持っています。これは組み込みのランダムモジュールをシャドーイングしています。 random.pyの名前をmy_random.pyのように変更したり、random.pycファイルを削除する必要があります。
は何が起こっているのか確実に伝えるために、次の操作を行います。正確にインポートされているファイルを示します>>> import random
>>> print random.__file__
を。
2
私はあなたにいくつかの情報をもっと与える必要があると思います。問題の情報に基づいて動作していない理由は本当に答えられません。ランダムの基本的なドキュメントは、 https://docs.python.org/library/random.html
です。
0
あなたは何をしようとしているのかの例を投稿できますか?あなたの質問から、実際の問題が何であるかははっきりしない。ここで
は、ランダムなモジュールを使用する方法の例です:
import random
print random.randint(0,10)
1
Python 2.5.2 (r252:60911, Jun 16 2008, 18:27:58)
[GCC 3.3.4 (pre 3.3.5 20040809)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> random.seed()
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>> random.randint(0,3)
3
>>> random.randint(0,3)
1
>>>
0
は私のために正常に動作するようです。ランダムなためofficial python documentationのメソッドをチェックアウト:
>>> import random
>>> random.random()
0.69130806168332215
>>> random.uniform(1, 10)
8.8384170917436293
>>> random.randint(1, 10)
4
0
作品私のために:
Python 2.5.1 (r251:54863, Jun 15 2008, 18:24:51)
[GCC 4.3.0 20080428 (Red Hat 4.3.0-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> brothers = ['larry', 'curly', 'moe']
>>> random.choice(brothers)
'moe'
>>> random.choice(brothers)
'curly'
1
あなたが実行するスクリプトがrandom.pyと呼ばれる可能性はありますか?
3
これは、pythonの検索パスにあるrandom.pyファイル(おそらく現在のディレクトリ)があるために起こります。
Pythonはsys.pathを使ってモジュールを探しています。sys.pathは標準のsite-packagesの前にカレントディレクトリを含みます。
これはPython 3.0で修正される予定であるため、特殊なインポート構文を使用せずに現在のディレクトリからモジュールをインポートすることはできません。
Pythonを実行しているディレクトリでrandom.py + random.pycを削除すると正常に動作します。
関連する問題
- 1. フィルタが動作していません2.5.X
- 2. ニューラルネットワークバックプロパゲーションアルゴリズムがPythonで動作しません
- 3. IntellisenseはPythonで動作しません。
- 4. Pythonはherokuで動作しません
- 5. pd.to_numericがPythonで動作しません
- 6. セレンはPythonで動作しません
- 7. 関数はランダムに動作しません
- 8. regexは動作しますが、Pythonでは動作しませんか?
- 9. intellijからgwt-2.5プロジェクトを起動できません2016.3
- 10. Pythonのパスワードプログラムは動作しません。
- 11. vscode pythonが動作しません。
- 12. Pythonサイクルが動作しません(xlwt)
- 13. pythonクラスデコレータが動作しません
- 14. Pythonリクエストモジュール - プロキシが動作しません
- 15. Python Flask request.formが動作しません。
- 16. Pythonのパンダマージは動作しません
- 17. pythonのエンコーディングメソッドは動作しません
- 18. Python Selenium click()が動作しません
- 19. Python Loggerが動作しません
- 20. Python Flaskチャンクデータアップロードが動作しません
- 21. python request postは動作しません
- 22. Pythonマルチスレッドは単一のCPUでしか動作しません
- 23. スパークはPythonでしか動作しません2
- 24. PythonスクリプトはIDLEでしか動作しません
- 25. Dryscrape visitはPythonで一度しか動作しません
- 26. スレッド内のランダムは動作しません。
- 27. シグナルハンドラはpythonでは動作しますが、ipythonでは動作しません
- 28. GDALはBashで動作しますが、Pythonでは動作しません
- 29. PythonプログラムはWindowsで動作しますが、Linuxでは動作しません
- 30. python regexはregex101で動作しますが、python2では動作しません
Python 3.3.2シェルでは、ファイルパスを取得するために 'print'を省略する必要があります。 – Tony
@Tony in Python 3、 'print'は関数です。だから、 'print(random .__ file __)'と書くことができます。 – Zenadix