3-13有问题

来源:3-13 编程练习

qq_阳光_134

2019-04-01 01:08:50

def seq(num,num1,num2):

    # if判断num小于88

    if num < 88:

    

        #返回num1与num2的积

        

        return num1*num2

    else:

        

        #返回num1与num2之和

        return num1+num2

        

# 定义变量tuple1的值为(5,2,1)

    tuple1 = (5,2,1)

# 调用函数,传入参数tuple1,并打印函数返回值

    print(seq(tuple1))

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

运行失败

Traceback (most recent call last):
 File "test2.py", line 16, in <module>
   print(seq(tuple1))
NameError: name 'tuple1' is not defined

老师来看看哪里的问题

写回答

2回答

慕猿梦

2019-04-01

同学,你好,name 'tuple1' is not defined,是名字未定义错误,但是您的代码上已经定义tuple1 = (5, 2, 1),建议您重新运行下程序试试,如有问题可以继续追问哦。。

1,对于print(seq(tuple1)),使用*tuple1可实现对元组tuple1的解包,即print(seq(*tuple1)

2,调用函数时,切勿写到函数里面

http://img.mukewang.com/climg/5ca17c560001b05604850462.jpg

如果我的回答解决了你的疑惑,欢迎采纳!!^_^ 祝学习愉快~~~~~

1

qq_阳光_134

提问者

2019-04-01

为什么会是未定义

0

0 学习 · 8160 问题

查看课程