Python /:';str';和';int';但不同
我做了一个随机回文生成器。该程序通过math.ceil函数使用字符限制和英语中的字母来计算设置字符限制的可能回文数。我遇到的问题如下:Python /:';str';和';int';但不同,python,Python,我做了一个随机回文生成器。该程序通过math.ceil函数使用字符限制和英语中的字母来计算设置字符限制的可能回文数。我遇到的问题如下: import math maximum = input('Max length?') for i in range (math.ceil(maximum / 2)): power = power * 26 最大值是一个包含设置字符限制的变量。我使用这个脚本是因为Python不支持LaTEX形式的等式 但是,每当我运行此脚本时,它
import math
maximum = input('Max length?')
for i in range (math.ceil(maximum / 2)):
power = power * 26
最大值是一个包含设置字符限制的变量。我使用这个脚本是因为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()在那一行,只是作用域在错误的变量上
在Python3中,input()默认返回str。错误消息清楚地表明错误发生在/
运算符上,这是因为变量max
是一个str(因为另一个参数是int)。不能将str除以int
你可以通过这样做向自己证明这一点
类型(输入(“某些输入”)
>>
要修复,请将最大值转换为int():
对于范围内的i(math.ceil(int(最大)/2)):
或编辑输入行:
Max=int(输入('Max length?))
如果您阅读错误消息,它会清楚地表明您正在尝试将字符串除以整数。您将如何解决此问题?能否展示您对int()
函数的使用,以及您收到的SyntaxError
?请确保缩进正确。谢谢,它解决了这个问题。我以前在var创建行中尝试将“max”声明为整数,但没有成功。