Python's Archiver

為方便港臺同胞閱覽,Python中國特別推出簡繁體內容轉換功能

lks2394758 发表于 2008-10-4 14:47

初学者问题一个……

小弟刚上大学1年级,现在在学python,因为是在国外上学所以外文资料实在不好理解……所以就发到这来啦
应该是满简单的问题:
比如现在有个list,这个list是2个数字中间所有的整数作为元素的,我想让每个元素都计算一次这段东西:
while n!=1:
    if n%2==0:
        n=n/2
    elif n%2==1:
        n=3*n+1
计算这个loop的运行次数然后在所有元素里比较出来一个运行次数最多的,请问该怎么做?

blackball 发表于 2008-10-4 16:45

不太了解你要问怎么做是什么意思。你的list没有描述清楚。最简单你的方法就是设置2个变量,分别记录if和elif
的次数,然后相加。
sum = 0
a = 0
b = 0
while n!=1:
    if n%2==0:
        n=n/2
        a = a+1
    elif n%2==1:
        n=3*n+1
        b = b+1
sum = a+b

lks2394758 发表于 2008-10-5 07:52

谢楼上!我有点思路了

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.