【python】《Python编程快速上手+让繁琐工作自动化》每章实践项目答案(三、四章)

第三章

【python】《Python编程快速上手+让繁琐工作自动化》每章实践项目答案(三、四章)

答案:

# -*- coding:utf-8 -*-

def collatz(number):
    if number%2 == 0:
        s = number//2
        print('计算的结果为: ' + str(s))
    else:
        s = 3*number + 1
        print('计算的结果为: ' + str(s))
    return s

while True:
    number = int(input('请输入一个整数:'))
    a = collatz(number)
    if a == 1:
        break
    else:
        continue

第四章

【python】《Python编程快速上手+让繁琐工作自动化》每章实践项目答案(三、四章)

 

def chars(ls):
    # length = len(ls)
    for i in ls:
        if i == ls[len(ls) - 1]:
            print('and ' + ls[len(ls) - 1])
        else:
            print(i + ', ', end='')

spam = ['apples', 'bananas', 'tofu', 'cats']
chars(spam)

【python】《Python编程快速上手+让繁琐工作自动化》每章实践项目答案(三、四章)

def lst(grid):
    """打印任意嵌套的列表"""
    # y表示最外层列表的下标
    # x表示内层嵌套列表的下标
    for i in grid:
        s = range(len(i))
    for x in s:
        for y in  range(len(grid)):
            print(grid[y][x],end='')
            if y == len(grid) - 1:
                print(end='\r\n')

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', '.', '.', '.'],
        ['.', '.', '.', '.', '.', '.']]
lst(grid)