import math
maximum = input('Max length?')
for i in range (math.ceil(maximum / 2)):
power = power * 26
maximum是包含set char限制的变量。我使用这个脚本是因为Python不支持LaTEX形式的等式。
但是,每当我运行此脚本时,都会出现此错误:
for i in range (math.ceil(maximum / 2)):
TypeError: unsupported operand type(s) for /: 'str' and 'int'
我已尝试将int()
函数用作int(math.ceil(maximum / 2))
,但它将其作为标准下拉窗口将其推回到SyntaxError。
我的问题是什么? 谢谢!
答案 0 :(得分:2)
你是如此接近:)在该行上使用int()的正确轨道上,只是确定了错误的变量。
在Python 3中,input()默认返回str。错误消息清楚地表明错误发生在/
运算符上,这是因为变量maximum
是str(因为另一个参数是int)。不能将str除以int。
您可以通过
向自己证明这一点 type(input('some input'))
>>> <class 'str'>
要修复,请将maximum
强制转换为int():
for i in range (math.ceil(int(maximum) / 2)):
或编辑输入行:
maximum = int(input('Max length?'))