Помогите пожалуйста с решением задачи

Piloden

Новичок
Пользователь
Янв 20, 2022
8
0
1
Помогите пожалуйста!Уже всю голову сломал не могу решить задачу из курса python для начинающих. Заранее благодарю за помощь!
тема цикл for
Напишите программу, на вход которой даются четыре числа aa, bb, cc и dd, каждое в своей строке. Программа должна вывести фрагмент таблицы умножения для всех чисел отрезка [a;b][a;b] на все числа отрезка [c;d][c;d].

Числа aa, bb, cc и dd являются натуральными и не превосходят 10, a≤ba≤b, c≤dc≤d.

Sample Input 1:

7
10
5
6
Sample Output 1:

5 6
7 35 42
8 40 48
9 45 54
10 50 60
 

Piloden

Новичок
Пользователь
Янв 20, 2022
8
0
1
updr все еще нужна помощь так как уже месяц не могу ее рушить)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 587
459
83
ну покажите, что пытались сделать, а так получается, что нужно сделать за вас...
 
  • Мне нравится
Реакции: Piloden

Piloden

Новичок
Пользователь
Янв 20, 2022
8
0
1
Python:
for i in range(1,10):
    for j in range(1,10):
        if i*j < 10:
            print (" ",end="")
 
        print (i*j,end=" " )
    print()
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
 
Последнее редактирование:

Piloden

Новичок
Пользователь
Янв 20, 2022
8
0
1
и все до этого все работало как надо (когда просто брали интервал от 1 до 10 в прошлом сообщении
добавляем ввод переменных

a = int(input())
b= int(input())
c = int(input())
d= int(input())

for i in range(a,b+1):
for j in range(c,d+1):
if i*j < 10:
print (" ",end="")

print (i*j,end=" " )
print()



и на выходе получаю




7
10
5
6
35 42
40 48
45 54
50 60

хотя правильный ответ
5 6
7 35 42
8 40 48
9 45 54
10 50 60
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
Вы можете понять, что по правилам хорошего тона, чтобы прониклись в Вашу проблему, нужно:
выделять в форме код как код - 1 кнопка
и ни каких инпутов, а для этого случая:
Код:
a = 7
b = 10
c = 5
d = 6
 
  • Мне нравится
Реакции: Piloden

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
а лучше так
Код:
a, b, c, d = 7, 10, 5, 6
 
  • Мне нравится
Реакции: Piloden

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 587
459
83
и все до этого все работало как надо (когда просто брали интервал от 1 до 10 в прошлом сообщении
добавляем ввод переменных

a = int(input())
b= int(input())
c = int(input())
d= int(input())

for i in range(a,b+1):
for j in range(c,d+1):
if i*j < 10:
print (" ",end="")

print (i*j,end=" " )
print()



и на выходе получаю




7
10
5
6
35 42
40 48
45 54
50 60

хотя правильный ответ
5 6
7 35 42
8 40 48
9 45 54
10 50 60
можно так
Python:
a, b, c, d = int(input()), int(input()), int(input()), int(input())


print(*range(c, d + 1))
for i in range(a, b + 1):
    print(i, end=" ")
    for j in range(c, d + 1):
        print(i * j, end=" ")
    print()
 
  • Мне нравится
Реакции: Piloden

Piloden

Новичок
Пользователь
Янв 20, 2022
8
0
1
Вы можете понять, что по правилам хорошего тона, чтобы прониклись в Вашу проблему, нужно:
выделять в форме код как код - 1 кнопка
и ни каких инпутов, а для этого случая:
Код:
a = 7
b = 10
c = 5
d = 6
я думал наоборот инпут написать вам будет так удобнее, не думал что это будет плохим тоном)хорошо спасибо, буду знать на будущее и большое спасибо за помощь!
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
я думал наоборот инпут написать вам будет так удобнее
не правильно вы поняли, если один инпут - то нормально, а вы же сказали-люди добрые помогите, вводил эти .... (а их 4-ре) значения и не взлетело
 

Piloden

Новичок
Пользователь
Янв 20, 2022
8
0
1
я понял ,буду знать , если что извиняюсь и спасибо за помощь , дело в том что никак не мог решить совсем - и так пробовал и так -в моменте перегорел ушло и вот через год снова вернулся и опять перегорание началось) еще раз извиняюсь за 4 инпута)
 

Piloden

Новичок
Пользователь
Янв 20, 2022
8
0
1
можно так
Python:
a, b, c, d = int(input()), int(input()), int(input()), int(input())


print(*range(c, d + 1))
for i in range(a, b + 1):
    print(i, end=" ")
    for j in range(c, d + 1):
        print(i * j, end=" ")
    print()


сейчас в черновике нашел что один из вариантов был такой , но к сожалению это не правильное решение
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 587
459
83
почему не правильное? какие то тесты не проходит?
 

Piloden

Новичок
Пользователь
Янв 20, 2022
8
0
1
сейчас увидел что тут почему то пробелы в оутпуте убрались
5 6
7 35 42
8 40 48
9 45 54
10 50 60
 

Вложения

  • Снимок экрана 2022-01-24 в 15.39.28.png
    Снимок экрана 2022-01-24 в 15.39.28.png
    42,7 КБ · Просмотры: 3

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 587
459
83
сейчас увидел что тут почему то пробелы в оутпуте убрались
5 6
7 35 42
8 40 48
9 45 54
10 50 60
ну добавьте пробел в первый принт...
 

Форум IT Специалистов