首页 > 解决方案 > 这个简单的代码给了我硬语法错误,除数代码

问题描述

def main():
    user_number = float(input("Enter a number: "))
    num = user_number//2
    round(num,0)
    int(num)
    print(num)
    divisor = 1
    for divisor in range(divisor,num):
        if num%divisor == 0:
                print(divisor)

while True:
    main()

我得到的语法错误:TypeError: 'float' object cannot be Explained as an integer

标签: pythonintrounding

解决方案


结果num = user_number // 2是一个浮点数。

该调用round(num, 0)什么也不做,因为您没有将结果存储在num变量中。无论如何,结果是float. 你应该改写num = int(num)


推荐阅读