前提・実現したいこと
パイソンで二次元リストで図を表示したいのですが、難しくてなかなか上手くいきません。
このデータの数字が奇数の場合、"*"を表示し、偶数の場合、何も表示しないという図を作りたいです。分かる人お願いします!
例えば、data = [
[7,9,3],
[0,1,4],
[7,3,5],
]
のデータから得られる図は、
***
␣* <␣は空白です。
***
と表示されるようなpicture_art(data)を定義したいのですが...
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
縦に表示されてしまう。
該当のソースコード
python
1data = [ 2 [7,12,148,175,30,70,146,151,136,16,75,122,68,38,172,183,124,126,76,138,153,145,49,44], 3 [121,70,48,153,47,14,62,189,138,64,127,108,178,154,107,2,91,122,120,64,93,56,54,55], 4 [7,82,114,21,138,201,170,91,92,106,51,62,140,103,58,52,82,41,122,164,31,166,22,65], 5 [5,54,120,117,142,114,111,23,104,76,85,172,110,165,135,135,167,147,58,114,137,118,52,139], 6 [143,58,112,45,66,116,86,33,184,122,33,66,128,93,108,166,56,25,156,18,69,65,1,52], 7] 8 9def picture_art(data): 10 for line in data: 11 for dot in line: 12 if dot % 2 == 1: 13 print("*", end="") 14 else: 15 print(" ", end="") 16 print() 17 18print(picture_art(data))
試したこと
01のドット絵を表示する方法と同じ方法でやってみたのですが、うまくいきませんでした。
お返事ありがとうございます!
def picture_art(data):
for line in data:
for dot in line:
if dot % 2 == 1:
print("*", end="")
else:
print(" ", end="")
print()
print(picture_art(data))
このようにして実行してみたら、
*
*
*
*
*
このように、アスタリスクが縦に表示されてしまいました。これを、
** ***
のように、横に表示したいのですが、方法が見つかりません。
質問文の方に追記してください。
インデント潰れると読めないので、code でお願いします
回答2件
あなたの回答
tips
プレビュー