While Bertingkat

Oleh riantaraa 209 0 pada Jumat, 10 Juni 2016, 16:39:53


Kembali ke forum soal ini

#python #loop-atau-pengulangan #while-loops


Petunjuk Diskusi
Silahkan masuk untuk berdiskusi



Ada yang bisa menjelaskan secara jelas alur dari While bertingkat seperti membuat bintang 
*
**
***
****
*****

Listingnya :
angka1 = 1
string = ""

while angka1 <= 3: 
  angka2 = angka1
  
  while angka2 > 0:
    string = string + "*"
    angka2 = angka2 - 1
    
  string = string + "\n"
  angka1 = angka1 + 1 
  
print string

Saya sedikit kesulitan memahami alur 'dari mana kemana dulu' perintah yg dijalankan oleh program sehingga menghasilkan bintang *****

Terima Kasih.
0 jempol


riantaraa
209
0
penanya
· 8 tahun, 5 bulan yang lalu · 0 jempol

Ket tambahan :
Saya sedikit bingun setelah masuk ke While yg ke 2,

karena saat angka2 = 2 > 0
maka string akan mencetak bintang,
lalu angka2 = 2 - 1 

nah karena 2-1 = 1, brati While ke 2 di jalanin lg dong ? yg mana itu bisa mencetak bintang lg ? dan kalo kaya gini menurut saya akan menghasilkan Bintang yg tidak berurutan.

Makasih

doktercode
164
12
· 8 tahun, 5 bulan yang lalu · 1 jempol

angka1 = 5
string = ""

while angka1 >= 1: 
  angka2 = angka1
  
  while angka2 > 0:
    string = string + "*"
    angka2 = angka2 - 1
    
  string = string + "\n"
  angka1 = angka1 - 1 
  
print string 


sedikit membantu ya :) 


jadi yang diminta adalah dari bintang 5 ke bintang 1 ke bawah 


jadi angka1 harus kita asumsikan terlebih dahulu bahwa 
angka1 = 5 
string = "" itu hanya untuk space saja 

while angka1 >= 1: 
  angka2 = angka1
 
 ===> while angka1 >=1 memiliki pengertian pengulangan yang dilakukan dari angka1 yang sudah diasumsikan sampai pada titik ke >=1 
contoh 5 lebih besar sama dengan 1 
4 lebih besar sama dengan 1 
sampai kepada 1 lebih besar sama dengan 1 
nah angka2 setelah while memiliki pengertian hasil dari angka1 dari angka yang diasumsikan sampai dengan >=1 disimpan dalan variabel angka2 

  while angka2 > 0:
    string = string + "*"
    angka2 = angka2 - 1

==> while angka2 > 0:
memiliki arti angka1 yang disimpan dalam variabel angka2 diatas harus lebih besar sama dengan 0, kenapa tidak while angka2 > 1 dikarenakan bintang yang diinginkan adalah dari bintang 5 sampai bintang 1 
kalau rumusnya while angka2 > 1 memiliki arti angka2 harus lebih besar dari 1. sehingga bintang yang akan muncul adalah bintang 5 sampai 2 
==> angka2 = angka2 -  1 
memiliki pengertian angka1 yang disimpan dalam variabel angka2 semuanya harus dikurangi 1 
    
  string = string + "\n"
  angka1 = angka1 - 1 
  
print string 

doktercode
164
12
· 8 tahun, 5 bulan yang lalu · 1 jempol

angka1 = 5
string = ""

while angka1 >= 1: 
  angka2 = angka1
  
  while angka2 > 0:
    string = string + "*"
    angka2 = angka2 - 1
    
  string = string + "\n"
  angka1 = angka1 - 1 
  
print string 


itu jawaban untuk pembahasan diatas