-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_inputに置き換えevalます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 に答える