-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathweek6_python.py
More file actions
181 lines (136 loc) · 3.9 KB
/
week6_python.py
File metadata and controls
181 lines (136 loc) · 3.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
# Loops
# menggunakan range
range(5)
tahun = [2005,2021,2024]
N = len(tahun)
for i in range(N):
print(tahun[i] , "\n")
# contoh loop
for i in range(-5,5):
print(i, "\n")
# Loop mengurutkan data
for year in tahun:
print(year, "\n")
# penggunaan Loop untuk mengganti element di dalam list
kotak = ['merah', 'kuning', 'hijau', 'ungu', 'biru']
for i in range(0, 5):
print("Sebelum bangun datar persegi ", i, 'adalah', kotak[i])
kotak[i] = 'massa'
print("Setelah bangun datar persegi ", i, 'adalah', kotak[i], "\n")
# Loop untuk pengurutan dan pengisian data pada list
lingkaran=['merah', 'kuning', 'hijau', 'ungu', 'biru']
for i, bundaran in enumerate(lingkaran):
print(i, bundaran, "\n")
# While Loop
masa = [1982, 1980, 1973, 2000]
i = 0
tahun = 0
while(tahun != 1973):
tahun = masa[i]
i = i + 1
print(tahun)
print("Butuh", i ,"pengulangan untuk keluar dari Loop.\n")
# Nested Loop
# loop bagian luar
for i in range(1, 11):
# nested loop
# untuk setiap nilai i, loop ini akan dijalankan sebanyak 10 kali
for j in range(1, 11):
# print perkalian
print(i * j, end=' ')
print( "", "\n")
# while Loop di dalam for Loop
quotes = ['Jangan', 'Pernah', 'Menyerah']
# loop bagian luar
for name in quotes:
# bagian dalam while loop
count = 0
while count < 10:
print(name, end=' ')
# penghitung increment
count = count + 1
print("", "\n")
# Jeda pada nested Loop
for i in range(4):
for j in range(4):
if j == i:
break
print(i, j, "\n")
# nested Loop yang berlanjut
pt1 = [2, 4, 6]
pt2 = [2, 4, 6]
for i in pt1:
for j in pt2:
if i == j:
continue
print(i, '+', j, '= ', i + j)
print(i, '-', j, '= ', i - j)
print(i, '*', j, '= ', i * j)
print(i, '/', j, '= ', i / j, "\n")
# Nested While Loop
i = 1
while i <= 5:
j = 1
while j <= 10:
print(j, end='')
j = j + 1
i = i + 1
print("\n")
# For Loop di dalam While Loop
print('Angka sempurna antara 1 sampai 100:')
n = 2
# hile loop bagian luar
while n <= 100:
x_sum = 0
# bagian dalam for loop
for i in range(1, n):
if n % i == 0:
x_sum += i
if x_sum == n:
print('Angka sempurna:', n, "\n")
n += 1
# Quiz 1
for i in range(5, 10):
print(i, "\n")
# Quiz 2
Genres = ['rock', 'R&B', 'Soundtrack', 'R&B', 'soul', 'pop']
for genre in Genres:
print("-Genre lagu", genre, "\n")
# Quiz 3
squares=['merah', 'kuning', 'hijau', 'ungu', 'biru']
for square in squares:
print("-Persegi warna", square, "\n")
# Exercise 1
print("membuat segitiga bintang")
n = int(input("Masukkan angka: "))
for i in range(n):
print(" " * (n - i - 1) + "* " * (i + 1))
# Exercise 2
print('\nMembuat segitiga pascal')
def segitiga_pascal(n):
segitiga = [[1 for _ in range(i+1)] for i in range(n)]
for i in range(2, n):
for j in range(1, i):
segitiga[i][j] = segitiga[i-1][j-1] + segitiga[i-1][j]
return segitiga
n = int(input("Masukkan jumlah baris: "))
pascal_segitiga = segitiga_pascal(n)
for i, row in enumerate(pascal_segitiga):
print(' ' * (n - i - 1) + ' '.join(str(num) for num in row))
# Exercise 3
print("\nMembuat segitiga pascal dan penjumlahan semua nilai baris")
def segitiga_pascal(n):
segitiga = [[1 for _ in range(i+1)] for i in range(n)]
for i in range(2, n):
for j in range(1, i):
segitiga[i][j] = segitiga[i-1][j-1] + segitiga[i-1][j]
return segitiga
def penjumlahan_baris(segitiga):
return [sum(row) for row in segitiga]
n = int(input("Masukkan jumlah baris: "))
pascal_segitiga = segitiga_pascal(n)
for i, row in enumerate(pascal_segitiga):
print(' ' * (n - i - 1) + ' '.join(str(num) for num in row))
print("\nPenjumlahan Angka Berdasarkan Baris:")
for i, row_sum in enumerate(penjumlahan_baris(pascal_segitiga)):
print(f"Baris {i+1}: {row_sum}")