Discuss / Python / 习题

习题

Topic source
def my_function(*factors):    number = 0    print('len(factors) = ',len(factors))    #for i in range(factors):       range函数错误使用,factor是元组    for i in range(len(factors)):   #遍历循环列表的正确方式        if number != 0 :            My_product = My_product * factors[number]            number = number + 1        else:            My_product = factors[number]            number = number + 1    return My_productdef my_input(Fac_number):    factors_lise = []    number = 0    for i in range(Fac_number):        number = number + 1        #factors_lise.append(int(input('请输入第',number,'个乘数值:')))#拼接错误        factors_lise.append(int(input(f'请输入第{number}个乘数值:')))#正确用法    else:        return factors_lisefactor_lises = tuple(my_input(int(input('您要算取几个数字的乘积:'))))#product = my_function(factor_lises)#----传入参数'factor_lises'实际上是将它指向的列表地址(传入一个元组地址)传入函数
# 所以在函数体内len(factor_lises) == 1,由于返回值没有强制数据类型,所以返回的也是一个元组,而不是设想的数值product = my_function(*factor_lises)      #当想把变量指向的列表里的内容传进函数时的正确传参办法'*列表名'print(*factor_lises,'的乘积是:',product)

  • 1

Reply