每日練習二:《Python編程快速上手+讓繁瑣工作自動化》第四章實踐項目


一、假定有下面這樣的列表:
spam = ['apples', 'bananas', 'tofu', 'cats']
編寫一個函數,它以一個列表值作為參數,返回一個字符串。該字符串包含所有表項,表項之間以逗號和空格分隔,並在最后一個表項之前插入 and。例如,將前面的 spam 列表傳遞給函數,將返回'apples, bananas, tofu, and cats'。但你的函數應該能夠處理傳遞給它的任何列表。

# -*- coding:utf-8 -*-
def string(lists):
    strings = ''
    for index in range(len(lists)):
        if index == len(lists) - 2:
            strings += lists[index] + ', and '
        elif index < len(lists) - 2:
            strings += lists[index] + ', '
        else:
            strings += lists[index]
    return strings

span = []
print('請輸入字符(以end結束):')
while True:
    s = input()
    if s == 'end':
        break
    else:
        span.append(s)
print(string(span))

 

二、

假定有一個列表的列表,內層列表的每個值都是包含一個字符的字符串,像這樣:
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', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
你可以認為 grid[x][y]是一幅“圖”在 x、y 坐標處的字符,該圖由文本字符組成。原點(0, 0)在左上角,向右 x 坐標增加,向下 y 坐標增加。復制前面的網格值,編寫代碼用它打印出圖像。
..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....

# -*- coding:utf-8 -*-
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', '.', '.', '.'],
        ['.', '.', '.', '.', '.', '.']]

for i in range(len(grid[1])):
    for j in range(len(grid)):
        if j < len(grid) - 1:
            print(grid[j][i], end='')
        else:
            print(grid[j][i])

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM