[英]unsupported operand type(s) for /: 'str' and 'int' but different
我做了一个随机的回文产生器。 程序会计算设置的char限制的可能回文数,并使用math.ceil函数使用char限制和英语字母进行计算。 我遇到问题的部分如下:
import math
maximum = input('Max length?')
for i in range (math.ceil(maximum / 2)):
power = power * 26
maximum是包含设置的字符数限制的变量。 我使用此脚本是因为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推出。
我怎么了 谢谢!
您是如此亲密:)在正确的位置使用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?'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.