您的位置:首页 > 编程语言 > Python开发

欢迎来到笨笨1号的python学习历程

2017-06-09 14:54 190 查看

pytho实现经典数学序列问题——Collatz序列

实现功能:用户输入一个整数number,对这个数不断调用collatz()函数,直到返回值为1。

collatz()函数:判断用户输入的整数是否为偶数,若为偶数,打印并返回number//2,若为奇数,打印并返回3*number+1

完整的代码如下:

#!/usr/bin/env python3

'''
function: collatz序列问题
'''

#def定义函数,number为传入参数
def collatz(number):
iseven = number%2

#在函数中定义一个全局变量result
global result
if iseven == 0:
result = number//2
print(str(result))
else:
result = 3*number + 1
print(str(result))

#通过try,except避免程序因为异常退出
try:
inputNumber = int(input())

#while循环实现:一直调用collatz()函数
while inputNumber != 1:
collatz(inputNumber)
inputNumber = result
except:
print("input ValueError!")

print("end the program!")


运行结果如下:

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/benzhonghai/PycharmProjects/WebCrawler/webcrawler.py
3
10
5
16
8
4
2
1
end the program!

Process finished with exit code 0


图片上传不了,运行结果将就着看吧~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 函数 collatz