繁体   English   中英

/不支持的操作数类型:“ str”和“ int”,但不同

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM