### 習題的解法不只一種,此處只提供參考解法,並非唯一解答,只要符合題目要求,都算答對。 ### ### 練習 1-1 ### """ * ** *** **** ***** """ for i in range(5 + 1): for j in range(1, i + 1): print("*", end = '') print() ### 練習 1-2 ### """ * * * * * * * * * * * * * * * * * * * * * * * * * """ for i in range(-4, 4 + 1): print(abs(i) * ' ', end = '') for j in range(1, 5 - abs(i) + 1): print(" *", end = '') print() ### 練習 1-3 ### """ 1 22 333 4444 55555 """ for i in range(1, 5 + 1): for j in range(1, i + 1): print(i, end = '') print() ### 練習 1-4 ### """ 555555555 544444445 543333345 543222345 543212345 543222345 543333345 544444445 555555555 """ for i in range(-4, 4 + 1): for j in range(-4, 4 + 1): if (abs(i) > abs(j)): print(abs(i) + 1, end = '') else: print(abs(j) + 1, end = '') print() ### 練習 1-5 ### """ A BB CCC DDDD EEEEE """ for i in range(5): for j in range(i + 1): print(chr(65 + i), end = '') print() ### 練習 1-6 ### """ * * * * * ***** 1 2 3 4 5 12345 A B C D E ABCDE """ for i in range(0, 5): print('*') print() for i in range(0, 5): print('*', end = '') print() for i in range(1, 6): print(i) print() for i in range(1, 6): print(i, end = '') print() for i in range(0, 5): print(chr(65 + i)) print() for i in range(0, 5): print(chr(65 + i), end = '') ### 練習 1-7 ### """ * ** *** * * ** ** ****** * * * ** ** ** ********* * * * * ** ** ** ** ************ """ for i in range(1, 4 + 1): for j in range(1, 3 + 1): for k in range(i): print(j * '*' + (3 - j) * ' ', end = '') print() ### 練習 1-8 ### """ * * * * * * * * * * * * * * * * * * * * * """ for i in range(1, 8): print((8 - i) * ' ' + '*' + (((i - 1) * 2) - 1) * ' ' + (i > 1) * '*') print((i + 1) * '* ') ### 練習 1-9 ### """ ********* ******* ***** *** * *** ***** ******* ********* """ for i in range(-4, 4 + 1): for j in range(-4, 4 + 1): if (abs(i) > abs(j) - 1): print('*', end = '') else: print(' ', end = '') print() ### 練習 1-10 ### """ * * ** ** *** *** **** **** ********* **** **** *** *** ** ** * * """ for i in range(-4, 4 + 1): for j in range(-4, 4 + 1): if (abs(i) < abs(j) + 1): print('*', end = '') else: print(' ', end = '') print() ### 練習 1-11 ### """ 432101234 4 ********* 3 **** **** 2 *** *** 1 ** ** 0 * * 1 ** ** 2 *** *** 3 **** **** 4 ********* """ for i in range(-4, 4 + 1): for j in range(-4, 4 + 1): if ((abs(i) + abs(j)) < 4 ): print(' ', end = '') else: print('*', end = '') print() ### 練習 1-12 ### """ 9876543210123456789 1********* ********* 2 ******** ******** 3 ******* ******* 4 ****** ****** 5 ***** ***** 6 **** **** 7 *** *** 8 ** ** 9 * * """ for i in range(1, 9 + 1): for j in range(-9, 9 + 1): if (j == 0) or (i > 9 - abs(j)): print (' ', end = '') else: print('*', end = '') print() ### 練習 1-13 ### """ AAAAA BBBB CCC DD E """ for i in range(1, 5 + 1): for j in range(6 - i, 0, -1): print(chr(i + 64), end = '') print() ### 練習 1-14 ### """ 1 01 101 0101 10101 """ x = 0 for i in range(1, 5 + 1): for j in range(i): x= 1 - x print(x, end = '') print() ### 練習 1-15 ### """ 01111 20222 33033 44404 55550 """ for i in range(5): for j in range(5): if (i == j): print(0, end = '') else: print(i + 1, end = '') print() ### 練習 1-16 ### """ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * """ for i in range(1, 5 + 1): for j in range(1, 2 + 1): print((5 - i) * ' ', end = '') for k in range(1, i + 1): print('* ', end = '') print((5 - i) * ' ', end = '') print() print() ### 練習 1-17 ### """ 1 121 12321 1234321 123454321 """ for i in range(1, 5 + 1): for j in range(-4, 4 + 1): if ( i >= abs(j) + 1): print(i - abs(j), end = '') else: print(' ', end = '') print() ### 練習 1-18 ### """ 5 44 333 2222 11111 """ for i in range(1, 5 + 1): for j in range(1, 5 + 1): if ((i + j) >= 6): print(6 - i, end = '') else: print(' ', end = '') print() ### 練習 1-19 ### """ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 """ x = 1 for i in range(1, 5 + 1): for j in range(1, i + 1): print('%3d' % (x), end = '') x = x + 1 print() ### 練習 1-20 ### """ ABCDEFEDCBA ABCDE EDCBA ABCD DCBA ABC CBA AB BA A A """ for i in range(1, 6 + 1): for j in range(-5, 5 + 1): if (i < abs(j) + 2): print(chr(65 + (5 - abs(j))), end = '') else: print(' ', end = '') print() ### 練習 1-21 ### """ S SC SCH SCHOO SCHOOL """ str = 'SCHOOL' for i in range(6): print(str[0:i + 1]) ### 練習 1-22 ### """ e e d d c c b b a b b c c d d e e """ for i in range(-4, 4 + 1): for j in range(-4, 4 + 1): if (abs(i) == abs(j)): print(chr(97 + abs(i)), end = '') else: print(' ', end = '') print() ### 練習 1-23 ### """ * 1 1 A B A 1 2 2 1 * * 0 * * 1 2 2 1 A B A 1 1 * """ for i in range(-4, 5): print(' ' * abs(i), end = '') if abs(i) == 4: print('*') else: for j in range(5 - abs(i)): if abs(i) % 2 == 1: m = 1 - (abs(i) // 2) w = int(abs(j - m - 0.5)) print(chr(49 + w) + ' ', end = '') else: ww = 66 - abs(j - 1) if i == 0: ww = 42 * int( j != 2) + 48 * int(j == 2) print(chr(ww) + ' ', end = '') print() print() ### 練習 1-24 ### """ * ** *** 1 1 22 22 333333 A A A BB BB BB CCCCCCCCC 1 2 3 4 11 22 33 44 111222333444 1 1 1 1 1 12 12 12 12 12 123123123123123 """ for i in range(1, 5 + 1): for j in range(1, 3 + 1): for k in range(i): if i == 1: print(j * '*' + (3 - j) * ' ', end = '') if i == 2: print(j * str(j) + (3 - j) * ' ', end = '') if i == 3: print(j * chr(64 + j) + (3 - j) * ' ', end = '') if i == 4: print(j * str(k + 1) + (3 - j) * ' ', end = '') if i == 5: print('123'[0:j] + (3 - j) * ' ', end = '') print()