Найти - Пользователи
Полная версия: Таблица умножения
Начало » Python для новичков » Таблица умножения
1
Scorp
Привет всем! Помогите разобраться, где ошибка.
 a = 1
for a in(1,10):
    print("Умножение на", a)
    for b in(1,10):
        b = 1
        c = b * a
        print(b, "*", a, "=", c)
        b += 1
        a += 1
В идеале должна появиться таблица умножения от 1 до 10, но выдает вот что:

Умножение на 1
1 * 1 = 1
1 * 2 = 2
Умножение на 10
1 * 10 = 10
1 * 11 = 11
Romissevd
вот возьмите и напишите словами что ваш код делает. Как вы понимаете…
Scorp
разобрался, пропустил “range” и начало с “0”
 a = 1
for a in range(0, 10):
    if a <= 10:
        a += 1
        print("Умножение на", a)
        b = 1
        for b in range(0, 10):
            if b <= 10:
                b += 1
                c = b * a
                print(b, "*", a, "=", c)

хотя условия if здесь лишние

Умножение на 1
1 * 1 = 1
2 * 1 = 2
3 * 1 = 3
4 * 1 = 4
5 * 1 = 5
6 * 1 = 6
7 * 1 = 7
8 * 1 = 8
9 * 1 = 9
10 * 1 = 10
Умножение на 2
1 * 2 = 2
2 * 2 = 4
3 * 2 = 6
4 * 2 = 8
5 * 2 = 10
6 * 2 = 12
7 * 2 = 14
8 * 2 = 16
9 * 2 = 18
10 * 2 = 20
….
gorodetskiykp
 for number_1 in range(1, 11):
    print("Умножение на", number_1)
    for number_2 in range(1, 11):
        print("{:>2} * {} = {}".format(number_2, number_1, number_2 * number_1))
Scorp
Благодарствую. горизонт обозначен)))

 for a in range(0, 10):
        print("Умножение на", a)
                for b in range(0, 10):
                        print(b, "*", a, "=", b * a)
spikejke
Я решил так :
 for x in range(1,10):
	print("Умножение на {0}".format(x))
	for z in range(1,10):
		print("{0} * {1} = {2}".format(x,z,z*x)
gorodetskiykp
spikejke
1. Это умножение от 1 до 9?
2. Я стараюсь давать переменным человеческие имена)
3. Зачем в формате используете нумераторы, если переменная подставляется только в одно место?
4. В формате беда с pep8)) пробелы не на своих местах.
gorodetskiykp
 print("\n".join(
    ["{} * {} = {}".format(num_1, num_2, num_1 * num_2) 
        for num_1 in range(1, 11) 
        for num_2 in range(1, 11)
    ]))
spikejke
gorodetskiykp
spikejke1. Это умножение от 1 до 9?2. Я стараюсь давать переменным человеческие имена)3. Зачем в формате используете нумераторы, если переменная подставляется только в одно место?4. В формате беда с pep8)) пробелы не на своих местах.
1. Умышленно, да
2. Думаю в данном случае значение переменной считается явной .
3. Что в этом плохого ? Объясните пожалуйста
4 . Вы правы , исправил.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB