用于简单指数计算的Python模块

时间:2014-04-01 19:20:32

标签: python python-2.7 module

我有一个简单的Python程序,我正在研究并且我不熟悉编程,而且事情并不顺利。我还在学习模块和功能,但这里是程序要求。我无法理解导入和调用部件以及程序的模块参数参数以及全局变量和局部变量。我还在学习,所以任何反馈或建议都会有所帮助。我的书似乎主要用伪代码编写,而不是实际的Python代码,这让人感到困惑。

''' 
Write a program that has thee modules:

1) the first module takes two numbers from the user

2) the second module calculate firstNumber to the power of secondNumber and prints it

3) the third module will print 'end of program'
'''

Module main()
    #Global Variables 
    Declare Integer num1
    Declare Integer num2
    #Welcome Exponent Power Program 
    Print ('Welcome to the Exponent Powers Program.')
    Call askNumbers(num1, num2)
    Call numberPower
    Call endProgram
End Module   

#This program gets the 2 numbers from the user
Module askNumbers(Integer num1, Integer num2)
    num1 = int(raw_input('Enter Number : '))
    num2 = int(raw_input('Enter Raised Power Number: '))
End Module

Module numberPower(int num1, int num2)
    Declare Int expTotal 
    Set expTotal = (num1**num2)
    Print(expTotal)
End Module

Module endProgram()
    Print('End of Program')
End Module

很好的帮助,再次感谢您的时间。

3 个答案:

答案 0 :(得分:0)

将所有Module替换为def

删除所有End Module

将冒号(:)添加到每个def

的末尾

删除所有Set

Print更改为print

删除intInteger

字样

call some_module替换为some_module()

的任何地方

删除所有Declare

然后我想你有python

例如:

Module endProgram()
    Print('End of Program')
End Module

变为

def endProgram():
    print "End of Program"

它使用伪代码的原因(我甚至不确定看起来像pascal或其他东西的伪代码(可能是vbasic))是因为他们试图教你概念而不仅仅是如何复制和粘贴

快速谷歌搜索发现这实际上是Visual Basic

答案 1 :(得分:0)

每个模块都将是一个单独的.py文件。 当你调用import <module name>时,它将从上到下运行模块,添加所有存在的函数/参数的定义,并在第一次导入时运行任何代码

如果我有一个模块:

<强> foo.py

print "foo"

当我导入foo时,有一个动作要执行,所以你会看到

<强>空闲

>>> import foo
foo
>>>

如果我把它放在一个函数中,什么都不打印,但是我可以使用foo模块名下的函数

<强> foo.py

def foo():
    print "foo"

<强>空闲

>>> import foo
>>> foo.foo()
foo
# or using the from keyword I can get the function as just foo
>>> from foo import foo
>>> foo()
foo

如果我想从另一个模块调用foo说bar.py,我会做这样的事情

<强> bar.py

from foo import foo
foo()
print "bar"

<强>空闲

>>>import bar
foo
bar
>>>

所以在你的情况下:

<强> module1.py

a = int(raw_input("enter number 1: "))
b = int(raw_input("enter number 2: "))

<强> module2.py

from module1 import a, b
print a**b

<强> module3.py

import module2
print 'end of program'

<强>空闲

>>> import module3
enter number 1: 2
enter number 2: 3
8
end of program
>>>

答案 2 :(得分:0)

#This askNumber Module gets the 2 numbers from the user, and calls these 2
def askNumbers():
    print 'Welcome to Python Exponent Program'
    num1 = int(raw_input('Enter Number 1: '))
    num2 = int(raw_input('Enter Raised to Power Number 2: '))
    numberPower(num1, num2)

#This numberPower is the exponent calculation module   
def numberPower(num1, num2):
    expTotal = (num1**num2)
    print('Number 1 to the power of Number 2 is: ', expTotal)

#This module prints end Program    
def endProgram():
    print 'End of Program'

askNumbers() 
endProgram()   

#test 5^5: 3125
#test 3^4: 81
#test 7^6: 117649
#test 2^2: 4