Форум сайта python.su
Здравствуйте! Помогите пожалуйста, не получается решить задачу:
"Напишите программу, на вход которой даются четыре числа a, b, c и d, каждое в своей строке. Программа должна вывести фрагмент таблицы умножения для всех чисел отрезка на все числа отрезка .
Числа a, b, c и d являются натуральными и не превосходят 10, a≤b, c≤d.
Следуйте формату вывода из примера, для разделения элементов внутри строки используйте ‘\t’ — символ табуляции. Заметьте, что левым столбцом и верхней строкой выводятся сами числа из заданных отрезков — заголовочные столбец и строка таблицы".
у меня получается вывести только первую строку и столбец, как дальше заполнять - пока не понимаю(
Офлайн
a = открыть_квадратную_скобку int(input(i+" = ")) for i in 'abcd'] print('\t%d\t%d\t%d\t%d\t'%(a[0], a[1], a[2], a[3])) [print('%d\t%d\t%d\t%d\t%d\t' % (j, j*a[0], j*a[1], j*a[2], j*a[3])) for j in a]
Отредактировано terabayt (Ноя. 30, 2014 20:39:17)
Офлайн
При вводе а=в и с=d (одно из условий проверки правильности) должен выводиться блок из одной строки и одного столбца.
Пример: http://upyourpic.org/images/201405/6rxy4ikmlb.jpg
Офлайн
a = открыть_квадратную_скобку int(input(i+" = ")) for i in 'abcd'] if a[0] == a[1] and a[2] == a[3]: del(a[2], a[1]) print('\t' + '\t'.join(map(str, a))) [print(str(j)+'\t'+'\t'.join(map(lambda x: str(x*j), a))) for j in a]
Офлайн
Хм, если ввести а=1, в=1, с=2, d=4, то вывод:
1 4
1 1 4
4 4 16
а если
a = 2
b = 4
c = 5
d = 5
2 5
2 4 10
5 10 25
http://upyourpic.org/images/201405/wcf96sm1jv.jpg
http://upyourpic.org/images/201405/6uift13rfx.jpg
Отредактировано JustJames (Ноя. 30, 2014 22:38:52)
Офлайн
у меня норм работает
https://yadi.sk/i/4QES4D1wd4JiW
Отредактировано terabayt (Ноя. 30, 2014 22:56:01)
Офлайн