Python 官网:https://www.python.org/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
目录
—— 题 目 ——
—— 质疑 ——
- 加权平均的“权”从哪儿找?我不会,就直接平均值了。
- 最后那个“按列排序”输出的序,是按数值大小序,还是以数组列序?我按列序依次输出,可合题意。
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。)
#!/sur/bin/env python
# coding: utf-8
'''
filename: /sdcard/qpython/tem.py
梦幻精灵_cq的炼码场
'''
from mypythontools import TimeSpan, isprime,\
clear, wait, cut_line, color # 从自定,工具模块加载工具。
clear()
print(f"{cut_line()}{color(1, 'f_green')}{' 自制工具启动成功!':=^32}{color(0)}{cut_line()}")
title = '''
创建数组 arr = [
[0, 3, 1, 5],
[2, 4, 6, 1],
[2, 8, 9, 2]],
打印输出数组的最大值、数组垂直方向的
最小值、以及数组水平方向的加权平均值,
并对数组按列排序输出。
'''
print(f"题目:\n{color(title, 'f_green')}")
arr = [
[0, 3, 1, 5],
[2, 4, 6, 1],
[2, 8, 9, 2]]
# -> 一、数组的最大值
arr_s = '\n '.join([str(i) for i in arr])
#max_num = max([max(i) for i in arr]) # 此语句与后四行语句同效。
max_num = 0
for i in arr:
if max(i) > max_num:
max_num = max(i)
print(f"{color(1, 'f_red')}{' —— 解 题 —— '.center(46, '=')}{color(0)}{cut_line()}数组:\
\n {color(arr_s, 'f_green')},最大值是:{color(max_num, 'f_green')}。")
# -> 二、数组垂直方向的最小值
min_columns = []
for i in range(len(arr[0])):
min_columns.append(str(min([arr[k][i] for k in range(len(arr))])))
min_columns = [str(min([arr[k][i] for k in range(len(arr))])) for i in range(len(arr[0]))] # 此列表解析语句与前三行语句同效。
print(f"\n{'':-^50}\n\n数组每竖行的最小值:{color(', '.join(min_columns), 'f_green')}")
# -> 三、数组水平方向的加权平均值
average_row = []
for i in arr:
average_row.append(sum(i)/len(i))
average_row = [sum(i)/len(i) for i in arr] # 此列表解析语句与前三行语句同效。
print(f"\n{'':-^50}\n\n数组水平方向平均值:{color(','.join(str(i) for i in average_row), 'f_green')}")
# -> 四、数组按列排序输出
columns = [[arr[k][i] for k in range(len(arr))] for i in range(len(arr[0]))] # 解析数组竖行列表(数组转置)。
print(f"\n{'':-^50}\n数组按列排序输出:\n{color(','.join(','.join(str(k) for k in i) for i in columns),'f_green')}{cut_line()}")
wait()
来源:老齐教室
全栈领域优质创作者——寒佬(还是国内某高校学生)好文:《非技术文—关于英语和如何正确的提问》,“英语”和“会提问”是学习的两大利器。
【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
靠谱程序员的好习惯