为什么我的手机上的代码比笔记本电脑更快?

时间:2017-02-28 18:15:35

标签: python performance python-3.x precision

我开始学习python,我刚刚完成了我的第一个项目,即collat​​z序列,“如果n是偶数,则除以2得到n / 2.如果n是奇数,则乘以它由3加1以获得3n + 1.重复该过程直到达到1.“

这是我的代码,它不是很长:

import sys

def integer():     #Asks for input and checks whether positive integer

        while True:
                number = input("Enter a positive, whole number:")
                try:
                        number = int(number)
                        if number > 0:
                                break
                        else:
                                raise ValueError
                except ValueError:
                        print("That's not right! \n Please enter a positive, whole number")
        return number

number = None

def collatz(): 
        global number
        print(number)
        while number > 1:
                if number % 2 ==0:
                        number = number // 2
                else:
                        number = number * 3 + 1
                print(number)

while True:               #loop so that you can try again
        number = integer()
        collatz()
        repeat = input("Try again? Y/N").upper()
        while repeat != "Y" and repeat != "N":    #Only Y/N are valid
                repeat = input("Try again? Y/N")
        if repeat == "N":
                sys.exit()     #end program if N selected
        else:
                pass           #Reloops to try again

我在我的Google Pixel XL(高达2.4 GHz)上运行了一个名为“QPython3”的应用程序,运行Android 7.1.1以及我的基本型号MacBook Pro(Retina,13英寸,2015年初)(2.7千兆赫)。

当我使用10 ^ 100这样荒谬的大数字时,MacBook花了几分钟才达到1分钟,但我的手机几乎是瞬间完成了。

我不明白为什么会这样。适当的计算机不应该在各方面都更好吗?

(如果你想对我的代码的整体有效性给出反馈,这是值得赞赏的,但可能不值得你花时间,因为我很新,很可能不太了解。我只是想做在这个阶段工作的代码)

0 个答案:

没有答案