質問編集履歴

3

誤字を訂正しました

2020/10/27 08:39

投稿

IchikawaHikaru
IchikawaHikaru

スコア2

test CHANGED
File without changes
test CHANGED
@@ -94,7 +94,7 @@
94
94
 
95
95
  TakaiYさんご返答頂きありがとうございます。
96
96
 
97
- 問題はimportを使った先のファイルなのではという仮説が浮かびました。
97
+ 問題はimportを使った先のファイルなのではという仮説が浮かびました。
98
98
 
99
99
  pythonには組み込みモジュールにselectという名前のものがあり、importを実行する際に私が作ったファイルではなくそちらを読み込んでいたというものです。
100
100
 

2

問題に関する仮説を提示しました。

2020/10/27 08:39

投稿

IchikawaHikaru
IchikawaHikaru

スコア2

test CHANGED
File without changes
test CHANGED
@@ -85,3 +85,27 @@
85
85
  choice = item[input ("購入したい商品を選んでください。:")]
86
86
 
87
87
  ```
88
+
89
+
90
+
91
+
92
+
93
+ 追記
94
+
95
+ TakaiYさんご返答頂きありがとうございます。
96
+
97
+ 問題はimportを使った先のファイルなのではという仮説が浮かびました。
98
+
99
+ pythonには組み込みモジュールにselectという名前のものがあり、importを実行する際に私が作ったファイルではなくそちらを読み込んでいたというものです。
100
+
101
+ 試しにselectという名前をselectsという名前にしたら問題なく動作しました。
102
+
103
+
104
+
105
+ そこで追加の質問となってしまうのですが、
106
+
107
+ 1.この仮説は間違いないでしょうか、また、importでは必ず組み込みモジュールが優位に働くという解釈で間違いないでしょうか。
108
+
109
+ 2.今後このようなことがないようにするために自分のファイル名が組み込みモジュールと被っていないかを調べる方法はあるのでしょうか。
110
+
111
+ 一度自力で調べたのですがうまく理解できませんでした。ご返答お待ちしております。

1

コードを掲載しました。

2020/10/27 08:37

投稿

IchikawaHikaru
IchikawaHikaru

スコア2

test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,63 @@
25
25
  このコードを他ファイルからimportして動かすにはどうすればよいのでしょうか。
26
26
 
27
27
  他ファイルからimportしたら何も起きませんでした。(エラーも起きていません。)
28
+
29
+
30
+
31
+
32
+
33
+ 追記
34
+
35
+
36
+
37
+ TakaiYさんご丁寧に有難うございます。
38
+
39
+ 下記にコードを表示いたします。
40
+
41
+ ```Python 3.9 で、ファイル名はtest.pyです
42
+
43
+ money = input ("お金をいれてください:")
44
+
45
+
46
+
47
+ int(money)
48
+
49
+ import select
50
+
51
+ re_money = money - select.choice
52
+
53
+ if re_money >= select.choice :
54
+
55
+ print ("{}円返金".format(re_money))
56
+
57
+ print ("ありがとうございました!")
58
+
59
+ else :
60
+
61
+ print ("お金が足りません。。。")
62
+
63
+ print ("{}を返金".format (money))
64
+
65
+ ```
66
+
67
+ ```ファイル名はselect.pyです。
68
+
69
+ drink = ["綾鷹"]
70
+
71
+ value = [150]
72
+
73
+
74
+
75
+ item = dict (zip(drink,value))
76
+
77
+
78
+
79
+ for i , x in enumerate(drink):
80
+
81
+ print (x+":"+str(value[i])+"円")
82
+
83
+
84
+
85
+ choice = item[input ("購入したい商品を選んでください。:")]
86
+
87
+ ```