python变量内存大小 - 错误

时间:2017-11-17 09:31:03

标签: python python-3.x variables memory

我是python编程的新手:我正试图解决这个问题:http://codeforces.com/contest/791/problem/A - 但是,当我试图在我的编辑器中解决它时,它给了我:声明中的问题: " x * = 3",解释器错误是: 第6行,主要     x * = 3 的MemoryError

def main():
    x = input("inter first number : ")
    z = input("inter second number : ")
    result = 0
    while x <= z:
        x *= 3
        z *= 2
        result += 1
    print(result)

if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:2)

input类型为str:您必须先将输入转换为数值intfloat,然后才能对其应用数值运算(*=) :: < / p>

def main():
    x = int(input("inter first number : "))  # alternatively: float(input("inter first number : "))
    z = int(input("inter second number : ")) # same alternative
    result = 0
    while x <= z:
        x *= 3
        z *= 2
        result += 1
    print(result)

if __name__ == '__main__':
    main()
  正如@ juanpa.arrivillaga在评论中指出的那样   MemoryErrorxy是字符串,乘以   字符串'10'*3 == '101010',你可能会创建一个无限的   循环,创建越来越大的字符串,直到你的内存不足。