Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.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_Python 3.x_Function_Variables - Fatal编程技术网

Python 我正在修改一个变量,但是如何在函数末尾返回它的原始状态呢?

Python 我正在修改一个变量,但是如何在函数末尾返回它的原始状态呢?,python,python-3.x,function,variables,Python,Python 3.x,Function,Variables,我编辑这篇文章是为了得到交叉和这个词,而不是阶乘,谢谢你的帮助 当我调用这个函数时,我得到的结果没有问题,但是这个数字是=0,因为它通过了这个循环 这就是我调用函数的方式 result, number = assignment_2() print(f'assignment 2: the cross sum of {number} is {result}') 只需将该值保存到另一个变量: number = int(input('enter a number')) orig = number re

我编辑这篇文章是为了得到交叉和这个词,而不是阶乘,谢谢你的帮助

当我调用这个函数时,我得到的结果没有问题,但是这个数字是=0,因为它通过了这个循环

这就是我调用函数的方式

result, number = assignment_2()
print(f'assignment 2: the cross sum of {number} is {result}')

只需将该值保存到另一个变量:

number = int(input('enter a number'))
orig = number
result = 0

while number:
    result = result + number % 10
    number = int(number / 10)
return result, orig
number = int(...)
saved_number = number

...

return result, saved_number

您必须将其保存在另一个变量中:

number = int(input('enter a number'))
orig = number
result = 0

while number:
    result = result + number % 10
    number = int(number / 10)
return result, orig
number = int(...)
saved_number = number

...

return result, saved_number

另外,我应该注意到,这里所做的不是阶乘,而是数字和。Factorial是从1到参数的所有数字的乘积,例如,5 Factorial是5×4×3×2×1=120。

您可以将输入值用作字符串来获得数字和,您的算法根本不需要转换其输入:

def digit_sum(x):
    return sum(int(xx) for xx in str(x)), x

def assignment_2():
    return digit_sum(int(input("Please enter a number ")))

I0的值是多少?