python - 任务是创建一个包含 2 行的表,其中每个值是 2 行之间所有数字的总和。用函数求解程序

标签 python python-2.7

提示使用两个值 A 和 B。生成表 AxB,其中每个值是 A 和 B 之间所有数字的总和(如果 B < A,则为 B 和 A)。创建生成每一行的函数,以及打印所有行的函数。

我使用“if”运算符解决了这个问题,但我不知道如何使用函数解决。我的方式:

a = input("Enter A:")
b = input("Enter B:")
k = 0
for i in range(1,a+1):
    for j in range(1,b+1):
        if i != j:
            k = 0
            if j < i:
                m = j
                ma = i
            else:
                m = i
                ma = j
            for m in range(m,ma+1):
                k += m
            print k,
        else:
            print i,
        print 

简单示例:

Enter A: 3  
Enter B: 4  

结果应该是:

1 3 6 10  
3 2 5 9  
6 5 3 7

最佳答案

这可能是你想要的

from itertools import product
from math import log10
def foo(row, col):
    table = [[0]*col for _ in range(row)]
    for i, j in product(range(row), range(col)):
        table[i][j] =  sum(range(i+1, j+2)) if i < j else sum(range(j+1, i+2))
    _max = max(row, col)
    _max = int(log10(_max*(_max+1) / 2)) + 3
    formatstr = ("{{:^{}}}".format(_max))*col
    for row in table:
        print formatstr.format(*row)


>>> foo(3,4)
 1   3   6   10 
 3   2   5   9  
 6   5   3   7  
>>> foo(10,10)
 1   3   6   10  15  21  28  36  45  55 
 3   2   5   9   14  20  27  35  44  54 
 6   5   3   7   12  18  25  33  42  52 
 10  9   7   4   9   15  22  30  39  49 
 15  14  12  9   5   11  18  26  35  45 
 21  20  18  15  11  6   13  21  30  40 
 28  27  25  22  18  13  7   15  24  34 
 36  35  33  30  26  21  15  8   17  27 
 45  44  42  39  35  30  24  17  9   19 
 55  54  52  49  45  40  34  27  19  10

关于python - 任务是创建一个包含 2 行的表,其中每个值是 2 行之间所有数字的总和。用函数求解程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19323782/

相关文章:

python - 如何让第二个 __init__.py 执行相同的命名空间

python - 通过 Exec 在 C 中运行 Python 脚本?

python - opencv 中的 SIFT() 不工作 : 'module' object has no attribute 'SURF'

使用 vars 或 __dict__ 的 Python 固定宽度字符串格式

python - argparse 可以将位置参数与命名参数相关联吗?

python - ttk 样式 "TNotebook.Tab"背景和边框宽度不起作用

python-2.7 - cURL 与请求(SSL 问题?)

python - "enumerate"如何知道何时解包返回值?

python - 使用 xlrd 从 http 网站打开 Excel

python - 如何在 python 类中访问成员函数作为成员变量?