Найти - Пользователи
Полная версия: Проясните ситуацию...
Начало » Python для новичков » Проясните ситуацию...
1
guranvir
q=int(input('Vvedite Chislo'))
i=q
print ('S pramoug','=',q,)
while i>=2:
if q%i==0:
print ( q,'=',q%i,'*',i)
i--
print
Вот этот скрипт не хочет запускаться, т.к. у интерпретатора стойкое неприятие i–: он считает что здесь нарушение уровней вложенности.
Вопросы:
1) Помогите исправить скрипт до рабочего состояния
2) Обкатывал тот же алгоритм в других языках, задачу решает, а именно нахождение всех чисел, которые дают в произведении заданную площадь(q)
При этом в задачнике эта задача отнесена к теме вложенные циклы, нужны ли они здесь проясните ситуацию
Zubchick
:)

>>> i--
File "<input>", line 1
i--

^
SyntaxError: invalid syntax
pasaranax
1. оператора ++/– нет в питоне, используй “i += 1”
2. кривые отступы
читай книжки по питону
guranvir
Да я понял с отступами просто никак не получается их правильно расставлять,насчет операторов спасибо)
guranvir
Вот скорректированный вариант, с отступами разобрался:
q=int(input('Vvedite Chislo'))
i=q
print ('S pramoug','=',q,)
while i>=2:
if q%i==0:
print ( q,'=',q/i,'*',i)
i=i-1
print
Остается лишь вопрос зачем здесь нужны вложенные циклы?!
Zubchick
>> i=i-1
замени на i -= 1

- обрамляй в пробелы все знаки операций (+-=>< и тп)
- необязательно, но можно писать так: i = q = int(input('Vvedite Chislo'))
- не используй никогда input, используй raw_input('input number: ')
guranvir
А вот кстати интересная ссылка к вашим замечаниям, учитывая что у меня python 3.1 http://www.ibm.com/developerworks/ru/library/l-python3-1/. Спасибо за советы, обязательно учту, спасибо что тратите время на меня
Zubchick
а ну да, в 3ем можно писать простой инпут.
Ferroman
По поводу пробелов - стоит поискать редактор и подсветкой “невидимых” символов. Меньше риск нарваться на проблемы с смешиванием whitespac'ов.
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