【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
第四章
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)
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)