Форум сайта python.su
Здраствуйте. Пытался написать скрипт, выдающий квадратные корни от значения a до b, но почему то вычисляет не все. Подскажите ошибку. Заранее спасибо.
# coding: utf-8 print u"Введите начало отсчета" a = int(input()) i = a print u"Введите конец отсчета" b = int(input()) while i < b: c = a ** 2 print u"Квадрат числа", a, u"равен", c i = i + 1 a = i + 1
Введите начало отсчета
3
Введите конец отсчета
6
Квадрат числа 3 равен 9
Квадрат числа 5 равен 25
Квадрат числа 6 равен 36
Отредактировано Razor (Сен. 13, 2012 11:21:58)
Офлайн
Квадратные корни это немного другое.
Проблема здесь скорее с месивом из переменных и вычислений. Попробуйте сравнить ваш код и этот:
# coding: utf-8 first_num = int(input("Введите начало отсчета: ")) last_num = int(input("Введите конец отсчета: ")) print "Начинаем с {0} и заканчиваем {1}:\n".format(first_num, last_num) current_num = first_num while current_num <= last_num: print "Квадрат числа {0} равен {1}".format(current_num, current_num ** 2) current_num += 1
# coding: utf-8 first_num = int(input("Введите начало отсчета: ")) last_num = int(input("Введите конец отсчета: ")) print "Начинаем с {0} и заканчиваем {1}:\n".format(first_num, last_num) for current_num in xrange(first_num, last_num + 1): print "Квадрат числа {0} равен {1}".format(current_num, current_num ** 2)
Отредактировано fata1ex (Сен. 13, 2012 11:49:56)
Офлайн
Нет ничего странного что пропускается элемент a+1 ведь у вас же написано:
i = i + 1 a = i + 1
Офлайн
В целом это странный код. Обычно при работе с рядом чисел сразу видишь range|xrange
for i in range(a, b+1): print(i, i**2) # или r = [(x, x**2) for x in range(a, b+1)] for i, i2 in r: print(i, i2)
Офлайн
GriffonGriffon, я энтузиаст-самоучка. Учусь на третьем курсе юриспруденции, но в детстве очень-очень увлекала математика. Я сейчас всего-то изучаю цикл for, но изучаю основательно (начал обучение где-то дней 5 назад), чтобы запомнить. Наставника, к моему большому сожалению, тоже не имею. Ну разве что это форум. )
В целом это странный код. Обычно при работе с рядом чисел сразу видишь range|xrangefor i in range(a, b+1): print(i, i**2) # или r = [(x, x**2) for x in range(a, b+1)] for i, i2 in r: print(i, i2)
Отредактировано Razor (Сен. 13, 2012 19:45:47)
Офлайн
Razorсперва определяется конкретная цель, затем конкретный способ её достижения, а затем уже пишется код
Griffon, я энтузиаст-самоучка. Учусь на третьем курсе юриспруденции, но в детстве очень-очень увлекала математика.
Офлайн
py.user.next
сперва определяется конкретная цель, затем конкретный способ её достижения, а затем уже пишется код
у тебя цель не поставлена
Офлайн
Razorчто такое “квадрат всех чисел” ?
задается начальное число a, конечное число b, а потом вычисляется квадрат всех чисел между a и b
Офлайн
py.user.nextRazorчто такое “квадрат всех чисел” ?
задается начальное число a, конечное число b, а потом вычисляется квадрат всех чисел между a и b
Офлайн
было
Razor
скрипт, выдающий квадратные корни от значения a до b
Razor
Квадрат каждого персонального числа от числа a до числа b
Razor
Вывести на экран квадраты всех натуральных чисел от a до b включительно.
>>> # coding: utf-8 ... >>> def f(): ... a = int(raw_input("Введите начало отсчета ")) ... b = int(raw_input("Введите конец отсчета ")) ... ... while a <= b: ... print u"Квадрат числа", a, u"равен", a * a ... a += 1 ... >>> f() Введите начало отсчета 5 Введите конец отсчета 25 Квадрат числа 5 равен 25 Квадрат числа 6 равен 36 Квадрат числа 7 равен 49 Квадрат числа 8 равен 64 Квадрат числа 9 равен 81 Квадрат числа 10 равен 100 Квадрат числа 11 равен 121 Квадрат числа 12 равен 144 Квадрат числа 13 равен 169 Квадрат числа 14 равен 196 Квадрат числа 15 равен 225 Квадрат числа 16 равен 256 Квадрат числа 17 равен 289 Квадрат числа 18 равен 324 Квадрат числа 19 равен 361 Квадрат числа 20 равен 400 Квадрат числа 21 равен 441 Квадрат числа 22 равен 484 Квадрат числа 23 равен 529 Квадрат числа 24 равен 576 Квадрат числа 25 равен 625 >>>
Отредактировано py.user.next (Сен. 16, 2012 09:09:38)
Офлайн