-4

该程序应该根据用户指定的数量rows和方法打印一个星号矩形。下面包括的是我目前正在使用的非工作代码:asterisksinput()

numRows = input('Please enter the number of rows: ')
numRows = eval(numRows)

numAst  = input('Please enter the number of asterisks in a row: ')
numAst  = eval(numAst) 

for i in range(numRows):
    print(numAst*'*')
4

2 回答 2

2

我怀疑你是在 Python2 下运行程序

这会给你

TypeError: eval() arg 1 must be a string or code object

尝试使用 Python3 运行

注意:eval这样使用是危险的。为什么不int改用?

如果您需要 Python2 版本。替换inputraw_inputeval_int

numRows = raw_input('Please enter the number of rows: ')
numRows = int(numRows)
numAst  = raw_input('Please enter the number of asterisks in a row: ')
numAst  = int(numAst) 
for i in range(numRows):
    print(numAst*'*')
于 2012-07-04T02:50:29.130 回答
0

它在我的机器上运行,确保在 eval 中传递字符串。检查这里http://docs.python.org/library/functions.html#eval

于 2012-07-04T02:51:32.657 回答