5.星を出力


文系のため、コンサルティングの進捗が終わった後
星を撮る練習問題が出てきた.

このように階段の形で星を撮ります.
文系のためなら条件文.
for i in range(1, 6):
    print('*'*i)
これで正常に出力されます.
しかし、問題は意図的ではないようだ.
次の答えを見た.
for i in range(5):          
    for j in range(5):      
        print('j:', j, sep='', end=' ')    
    print('i:', i, '\\n', sep='')    
                             
このようなコードが提案されている.星はどこだ--?
そして、結果は以下の通り.
j:0 j:1 j:2 j:3 j:4 i:0\n
j:0 j:1 j:2 j:3 j:4 i:1\n
j:0 j:1 j:2 j:3 j:4 i:2\n
j:0 j:1 j:2 j:3 j:4 i:3\n
j:0 j:1 j:2 j:3 j:4 i:4\n
星はどこだ--?
これはオーバーラップリングの例です.
どうして練習問題と変な...?
ソースコードがgugudanのように外輪が1回回転した場合
内環を5回回すというようです.
長い間星と何の関係があるのか考えていました.
階段型の星を撮っているように書かれています
問題に利用条件文と書いてあります.
条件文もなく...
だからオーバーラップループと条件文を利用して
解き直した.
k = 0
for i in range(5):
    for j in range(5):
        if i == k:
            print('*' * (k+1))
            k += 1
ちょっと非効率だけど、乞食みたい.
ネストされたループと条件文を含む必要があります.
条件を満たすために編入する.
i 1回回るときj 5回回る
iとkの任意の変数値が一致する場合
アスタリスクはk値+1のコードです.
k+1は、各変数のインデックスが
0からだから.
初めて回るときは星を撮らない
+1をしました.
または、変数値が1から始まる場合.
+1をしなくてはいけません.