gpt4 book ai didi

python - python 2.7.3 中的函数和参数

转载 作者:太空宇宙 更新时间:2023-11-03 12:08:53 28 4
gpt4 key购买 nike

在我的计算机科学课上,我才刚刚开始学习 python 中的函数和参数。现在我的导师正在让我们学习参数传递。我没有输入大量的程序摘要,而是重新输入了下面的作业指南。

描述:在此程序中,用户必须选择输入费用、输入付款或显示信用卡余额。允许用户通过在键盘上输入代码来表明他们的选择。

使用以下函数名称:

  • enterValue 用户输入一个值

  • addCharge 将传递给函数的值添加到余额中

  • addPayment从余额中减去传递给函数的值

  • showBalance 显示信用卡当前余额

让用户输入以下代码以进行适当的操作:

  • “C”用于输入费用

  • 用于输入付款的“P”

  • “B”表示余额

  • 在输入“Z”之前允许输入交易

程序

balance = 0
def enterValue ():
enter = input ("Enter a value.")
return enter

def addCharge (enter,balance):
balance = balance + enter
return balance

def addPayment (enter,balance):
balance = balance - enter
return balance
def showBalance ():
print "Your balance is... ", balance


transaction = raw_input ("Enter C for charges, P for payments, and B to show your balance. ")
enterValue ()
while transaction != "Z":


if transaction == "C":
balance = addCharge(enter,balance)
showBalance()
elif transaction == "P":
balance = addPayment (enter,balance)
showBalance()
elif transaction =="B":
balance = enterValue()
showBalance()
transaction = raw_input ("Enter C for charges, P for payments, and B to show your balance. ")

输出

Enter C for charges, P for payments, and B to show your balance. P

Traceback (most recent call last):
File "/Users/chrisblive/Downloads/Charge_Braverman-2.py", line 26, in <module>
balance = addPayment (enter,balance)
NameError: name 'enter' is not defined

(我的问题是我在 enterValue() 中的值没有被定义。)

最佳答案

练习的主要内容是了解将参数传递给函数。因此,只需将函数中所有需要的变量传递给它即可!大致上你可以说所有函数都有自己的命名空间,如果你想在其中使用另一个级别的值,你必须将它作为参数传递并返回它,如果你想在较低级别重用它。

例如:

###   Level "enterValue"   ###
def enterValue():
return float(raw_input("Enter a value: "))
### End Level "enterValue" ###

### Level "addCharge" ###
def addCharge(enter, balance):
balance = balance + enter
return balance
### End Level "addCharge" ###

### Level "showBalance" ###
def showBalance(balance):
print "Your balance is %f" % balance
### End Level "showBalance" ###

### Level "Mainlevel" ###
# This is where your program starts.
transaction = None
balance = 0.0
while transaction != "Z":
transaction = raw_input("Enter C for charges, P for payments, and B to show your balance.\nEnter Z to exit: ").upper()

if transaction == "C":
enter = enterValue()
balance = addCharge(enter, balance)
showBalance(balance)
elif transaction == "P":
balance = addPayment(enter, balance)
showBalance(balance)
elif transaction == "B":
showBalance(balance)
### End Level "Mainlevel" ###

关于python - python 2.7.3 中的函数和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14966342/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com