Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我能';在python赋值中,我无法找出全局变量的错误_Python_Variables_Global Variables - Fatal编程技术网

我能';在python赋值中,我无法找出全局变量的错误

我能';在python赋值中,我无法找出全局变量的错误,python,variables,global-variables,Python,Variables,Global Variables,我的python学校作业有问题,我不知道我做错了什么。我要么得到一个未定义的全局名称,要么如果我改变周围的事物,就会得到不同的sythax错误。我希望有人能帮助我做错事 以下是分配详细信息的图像: def main(): x=int(输入(“给我整数#1:”) y=int(输入(“给我整数#2:”) z=输入(“给我一个字符串:”) 打印(“最小:,最小(x,y)) 打印(“最大:”,最大(x,y)) 打印(“相等:”,相等(x,y)) 打印(“is_偶数:”,is_偶数(x)) 打印(“is

我的python学校作业有问题,我不知道我做错了什么。我要么得到一个未定义的全局名称,要么如果我改变周围的事物,就会得到不同的sythax错误。我希望有人能帮助我做错事

以下是分配详细信息的图像:

def main():
x=int(输入(“给我整数#1:”)
y=int(输入(“给我整数#2:”)
z=输入(“给我一个字符串:”)
打印(“最小:,最小(x,y))
打印(“最大:”,最大(x,y))
打印(“相等:”,相等(x,y))
打印(“is_偶数:”,is_偶数(x))
打印(“is_odd:”,is_odd(x))
打印(“格式美元:”,格式美元(x))
打印(“实验室等级:”,实验室等级(x))
打印(“is_Lucky:,is_Lucky(x))
打印(“is_lucky:”,is_lucky(x))
打印(“复数:,复数(z))
#1此函数将计算2个整数参数的最小值,并返回较小的参数
def最小值(num1,num2):
如果num1>=num2:返回num1
其他:返回num2
#2此函数将计算出最多2个整数参数,并返回较小的参数
def最大值(num1,num2):
如果num1=90:
返回“A”
如果等级>=80:
返回“B”
如果等级>=70:
返回“C”
如果等级>=60:
返回'D'
其他:
返回“F”
#8这将确定功能是否不正常
def不吉利(x):
如果x==4:
返回('True')
如果x==13:
返回('True')
如果x==7:
返回('True')
else:('False')
打印()
#9这将确定功能是否幸运
def是幸运的(x):
如果x==3:
返回('True')
如果x==4:
返回('True')
如果x==8:
返回('True')
如果x==7:
返回('True')
其他:
返回('False')
打印(“”)
#10该功能将多元化
def多重化(z):
如果不是z:
返回复数
打印(“”)
main()
您的
是偶数()
是奇数()
函数看起来是
均匀奇数

嗯,那只是个玩笑。。很抱歉但是你正在使用两个不同的参数
num1
,和
num2
,而你正在使用一个变量
x
被分配给一个未知变量
甚至是
,我不明白它在做什么??

甚至从以下方面改变:

def is_even(num1,num2):
    is_even = x
    if x % 2 == 0: return ("True")
    else: return ("False")
致:

为什么

  • 您只需要一个输入
  • 你不应该使用全局x
  • 您不应该将is_偶数(函数)设置为值

是奇怪的,格式也有类似的问题。

如果非要我猜的话,我会说你做的是一次编写所有10个函数,然后把整个程序搞乱,看看它是否有效。在头半个小时用你的头撞击它之后,你可能已经到了这样一个地步,你只是随机地改变一些事情,看看烟雾是否会奇迹般地消失

由于这似乎是一项非常基本的任务,我将不建议使用测试驱动开发之类的东西,但您可以通过采取更渐进的方法使您的生活更加轻松

首先,从main开始并运行它,以便所有函数调用都能正常工作而不会产生错误,例如:

def main():
    x = int(input("Give me integer #1: "))
    y = int(input("Give me integer #2: "))
    z = input("Give me a string: ")
    print("min:", min(x, y))
    print("max:", max(x, y))
    print("equal:", equal(x, y))
    print("is_even:", is_even(x))
    print("is_odd:", is_odd(x))
    print("format_dollar:", format_dollar(x))
    print("lab_grade:", lab_grade(x))
    print("is_unlucky:", is_unlucky(x))
    print("is_lucky:", is_lucky(x))
    print("pluralize:", pluralize(z))

def min(x, y):
    return x

def max(x, y):
    return x

# Fill in all the other functions here in the same fashion.

main()
对所有函数执行相同的操作,只需返回传入的第一个参数。一旦你得到了它,你的代码运行时不会产生任何错误。逐个函数修复每个函数以返回正确的结果。让您的生活更加轻松的一个技巧是将main()黑客攻击为:

这样,您可以快速运行程序,而无需每次输入。一旦工作正常,就可以删除输入前面的注释,删除硬编码的值,并在main()不变的情况下将其提交

返回True/False时,应使用实际的布尔值True和False,而不是它们的字符串表示形式。另外,由于赋值特别称为elif,您可能应该使用if/elif/else语句,而不是像代码那样使用一堆谨慎的if

#9 This will determine if the function is lucky
#  x = number to test
# returns True if number is lucky, else False
def is_lucky(x):
    if x == 3:
        return True
    elif x == 4:
        return True
    elif x == 8:
        return True
    elif x == 7:
        return True
    else:
        return False

首先,当函数获取参数num1和num2时,它们试图使用名为
x
的变量,但这是许多格式不正确的代码,希望有人能够通过。一个错误是,在
main()
中,您试图调用尚未声明的函数。您应该在调用函数之前声明它们,所以所有这些print语句都应该放在函数定义下面。您需要缩进属于
main()
函数一部分的所有行。当你运行程序,它要求一个字符串,一定要把你输入的任何引号。您的
even()
函数定义为接受两个数字,但您只传递一个。您的第一个函数--
min
--不返回最小值。我建议您在学习Python语法时一个函数一个函数地工作,而不是一次完成所有的工作。@Ashwini Chaudhary:在尚未定义的函数定义中调用函数是可以的。谢谢您!现在我有一些事情要担心,但我仍然得到我的全局变量错误。你能找到原因吗?谢谢:)
def main():
    x = int(input("Give me integer #1: "))
    y = int(input("Give me integer #2: "))
    z = input("Give me a string: ")
    print("min:", min(x, y))
    print("max:", max(x, y))
    print("equal:", equal(x, y))
    print("is_even:", is_even(x))
    print("is_odd:", is_odd(x))
    print("format_dollar:", format_dollar(x))
    print("lab_grade:", lab_grade(x))
    print("is_unlucky:", is_unlucky(x))
    print("is_lucky:", is_lucky(x))
    print("pluralize:", pluralize(z))

def min(x, y):
    return x

def max(x, y):
    return x

# Fill in all the other functions here in the same fashion.

main()
def main():
    #x = int(input("Give me integer #1: "))
    #y = int(input("Give me integer #2: "))
    #z = input("Give me a string: ")
    x = 5
    y = 8
    z = 'foobar'

    print("min:", min(x, y))
    print("max:", max(x, y))
    print("equal:", equal(x, y))
    print("is_even:", is_even(x))
    print("is_odd:", is_odd(x))
    print("format_dollar:", format_dollar(x))
    print("lab_grade:", lab_grade(x))
    print("is_unlucky:", is_unlucky(x))
    print("is_lucky:", is_lucky(x))
    print("pluralize:", pluralize(z))
#9 This will determine if the function is lucky
#  x = number to test
# returns True if number is lucky, else False
def is_lucky(x):
    if x == 3:
        return True
    elif x == 4:
        return True
    elif x == 8:
        return True
    elif x == 7:
        return True
    else:
        return False