嗨,我非常喜欢编程,我正在开发我的第一个程序。我一直在书中跟随,我决定停下来测试一个功能。该函数位于名为myPythonFunctions.py
的文件中。然后,我创建了一个名为untitled.py
的新文件,并将其放在与myPythonFunctions.py
相同的文件夹中。
在untitled.py
我有以下代码:
import myPythonFunctions as m
m.generateQuestion()
很简单,但是当我尝试运行它时,我得到Import Error: no module named myPythonFunctions
。
我不明白,文件夹中有一个名为myPythonFunctions
的文件。发生了什么事?
如果您需要,请输入m.generateQuestion()
def generateQuestion():
operandList = [0,0,0,0,0,]
operatorList = ['', '', '', '', '']
operatorDict = [1:'+', 2:'-', 3:'*', 4:'**']
for index in range(0,5):
operandList[index] = randint(1,9)
for index in range(0,4):
if index > 0 and operatorList[index-1] !='**':
operator = operatorDict[randint(1,4)]
else:
operator = operatorDict[randint(1,3)]
operatorList[index] = operator
questionString = str(operandList[0])
for index in range(1,5):
questionString = questionString + OperatorList[index-1] + str[operandList[index]
result = eval(questionString)
questionString.replace("**","^")
print('\n' + questionString)
userAnswer=input('Answer: ')
while true:
try:
if int(userAnswer) == result:
print('Correct!')
return 1
else:
print('Sorry, the correct answer is', result)
return 0
except Exception as e:
print("That wasn't a number")
userAnswer = input('Answer: ')
编辑:我现在收到此错误
Traceback (most recent call last):
File "/Users/Brad/Desktop/Python/Untitled.py", line 1, in <module>
import myPythonFunctions as m
File "/Users/Brad/Desktop/Python/myPythonFunctions.py", line 33
operatorDict = [1:'+', 2:'-', 3:'*', 4:'**']
^
SyntaxError: invalid syntax
答案 0 :(得分:0)
你得到的语法错误,是因为你试图将字典定义为一个列表,所以解释器会引发错误,因为它不知道如何处理它。
要定义字典,您需要使用{}而不是[]
答案 1 :(得分:-2)
你的字典实现错了,你真的从某个地方复制了这段代码吗?
operatorDict = {1:'+', 2:'-', 3:'*', 4:'**'}
您的代码被拼错了
myPythonFunctions 上的代码非常糟糕。
Python 需要正确的识别工作,请仔细检查此步骤
我建议你检查一下你的结构:
我现在就这样做了
/somefolder
--this.py
--functions.py
/
内容 --this.py
import functions as f
print f.hello()
- functions.py
def hello():
return 'It worked'
在您的环境中尝试此结构:D
然后运行:
python this.py