2017-10-14 31 views
-1

私は学校向けのプログラムに取り組んでいます。私の宿題は文字「A」を作成することです。入力サイズに応じて文字Aを入力してください

私はループを使って作業しましたが、printinputです。私は自分が持っているもので作業します。私はエラーを取得する..but

v = eval(input("Enter the size of the Letter: ")) 
for i in range (v): 
    print(" " * ((v/2)-i) + i * '*' + ((v/2)-i)) 

は、私は、次のコードを試してみました。

+0

エラーが表示されますか? – gommb

+0

'' * '+((v/2)-i) 'は実際には' '文字列' 'であるため、' 'TypeError:strとintオブジェクトを連結できません。 str + int'とpythonのprint関数は異なるデータ型を組み合わせることができないので、 '((v/2)-i)'部分を文字列に変換する必要があります – davedwards

+0

どのように私はループ、印刷または入力だけで文字 "A"を印刷することはできません –

答えて

0

if文を使用すると、以下のコードが動作するようです。私はそれがなければ可能かどうか分からない。

v = eval(input("Enter the size of the Letter: ")) 
for i in range(1, v, 2): 
    if i == int(v/2): 
     middle = i * '*' 
    else: 
     middle = '*' + (i-2) * ' ' + '*' if i != 1 else '*' 
    print(" " * int((v/2)-(i/2)) + middle + int((v/2)-(i/2)) * " ") 
関連する問題