Bài giải phần bài tập danh sách trong Python

Chào các bạn,
Sau khi đọc xong phần 17 mình đã thực hành giải một số bài tập theo cách của mình. Các bạn có thể tham khảo và góp ý giúp mình
Comma Code

# This program is convertation list to string

spam = ['apples', 'bananas', 'tofu', 'cats']

print(spam)

tmp = len(spam) - 1

for i in range(len(spam)):

    print(spam[i], end=', ')

    if i == tmp:

        tmp2 = 'and ' + spam[-1]

        print(tmp2)

        break

Coin Flip Streaks

import random

numberOfStreaks = 0

streak_len = 6

for experimentNumber in range(10000):

    # Code that creates a list of 100 'heads' or 'tails' values.

    # 0 - heads, 1 - tails

    # Code that checks if there is a streak of 6 heads or tails in a row.

    flips = [random.randint(0, 1) for _ in range(100)]

    streak_head = 0

    streak_tail = 0

    for i in flips:

        if i == 0: # Check heads

            streak_head += 1

            streak_tail = 0

            if streak_head >= streak_len:

                numberOfStreaks += 1

        if i == 1: # Check heads

            streak_head = 0

            streak_tail += 1

            if streak_tail >= streak_len:

                numberOfStreaks += 1

    

print(numberOfStreaks)

print('Chance of streak: %s%%' % (numberOfStreaks / 100))

Character Picture Grid

# This is program about grid from string

grid = [['.', '.', '.', '.', '.', '.'],

        ['.', 'O', 'O', '.', '.', '.'],

        ['O', 'O', 'O', 'O', '.', '.'],

        ['O', 'O', 'O', 'O', 'O', '.'],

        ['.', 'O', 'O', 'O', 'O', 'O'],

        ['O', 'O', 'O', 'O', 'O', '.'],

        ['O', 'O', 'O', 'O', '.', '.'],

        ['.', 'O', 'O', '.', '.', '.'],

        ['.', '.', '.', '.', '.', '.']]

print(len(grid[0]))

for i in range(len(grid[0])):

    for j in range(len(grid)):

        print(grid[j][i], end="")

    print("")

Các bạn có những lời giải khác để chúng ta có thể cùng nhau thảo luận không?

3 Likes

Bài đầu tiên em tưởng chỉ in cats một lần thôi

1 Like

Hi hi,
Mình làm sai, cảm ơn bạn. Mình sửa như sau

# This program is convertation list to string

spam = ['apples', 'bananas', 'tofu', 'cats']

print(spam)

tmp = len(spam) - 1

for i in range(len(spam)):

    print(spam[i], end=', ')

    if i == tmp - 1:

        tmp2 = 'and ' + spam[-1]

        print(tmp2)

        break
1 Like