Найти - Пользователи
Полная версия: Первая программа на Python
Начало » Python для новичков » Первая программа на Python
1
Sonic_md
Приветствую.

В предыдущей теме Как запустить питон из консоли, набрав python? все нужные вопросы разузнал.

Иду дальше.
Автор предлагает написать первый скрипт.
Создали файл. Запускаем в программе Sublime Text 2

У меня версия Python 3.3.2

У автора 2.7

Программа:

print “Time converter”

in_time = int(raw_input(“Input time value:”))
in_type = str(raw_input(“Input value type (s,m,h”)

result = in_time

if in_type == ‘h’:
if convert_to == ‘s’:
result = in_time * 60 *60

if convert_to == ‘m’:
result = in_time * 60

if in_type == ‘m’:
if convert_to == ‘s’:
result = in_time * 60

if convert_to == ‘h’:
result = float(in_time) / 60

print (“Convertation result:”)
print in_time, in_type, “ equal ”, result, convert_to
У него запускается, у меня выдает ошибку

File <stdin>, line 1
python time_converter.py

Syntax Error: invalid syntax

Где что не так? нужно поправить?
Singularity
Sonic_md
научись нормально вставлять код (у меня в подписи есть ссылка)

я же тебе говорил
print("*** any string ***")
Sonic_md
print “Time converter”

изменил на

print (“Time converter”)

raw_input поменял на просто input

не работает.
Singularity
Sonic_md
прочитай это http://wiki.python.su/%D0%9A%D0%B0%D0%BA%D0%9F%D0%BE%D0%B4%D1%81%D0%B2%D0%B5%D1%87%D0%B8%D0%B2%D0%B0%D1%82%D1%8C%D0%9A%D0%BE%D0%B4
а затем покажи ошибку
lzzy
А что за переменная
 convert_to
? Ты делаешь сравнение, но она не объявлена нигде
Если нормально отформатировать твой код, позакрывать незакрытые скобки и пропущенные буквы в именах переменных, получаем следующее:
#!/usr/bin/env python
print "Time converter"
in_time = int(raw_input("Input time value:"))
in_type = str(raw_input("Input value type (s,m,h)"))
result = in_time
if in_type is 'h':
    if convert_to is 's':
        result = in_time * 60 *60
if convert_to is 'm':
    result = in_time * 60
if in_type is 'm':
    if convert_to is 's':
        result = in_time * 60
if convert_to is 'h':
    result = float(in_time) / 60
print "Convertation result "
print in_time, in_type, " equal ", result, convert_to

При этом получаем ошибку
Traceback (most recent call last):
  File "trash.py", line 14, in <module>
    if convert_to == 'm':
NameError: name 'convert_to' is not defined

Что за convert_to - не ясно
ring0za
Если я все правильно понял - convert_to как раз “во что преобразовать”, а сорец для второго питона )
#!/usr/bin/env python
print "Time converter"
in_time = int(raw_input("Input time value:"))
in_type = str(raw_input("Input value type (s,m,h)"))
convert_to=str(raw_input("Type to convert(s,m,h)"))
result = in_time
if in_type is 'h':
    if convert_to is 's':
        result = in_time * 60 *60
if convert_to is 'm':
    result = in_time * 60
if in_type is 'm':
    if convert_to is 's':
        result = in_time * 60
if convert_to is 'h':
    result = float(in_time) / 60
print "Convertation result "
print in_time, in_type, " equal ", result, convert_to
lzzy
ring0za
Если я все правильно понял - convert_to как раз “во что преобразовать”, а сорец для второго питона )
Да, все верно! В приведенном изначально коде выскакивал ексепшн еще до convert_to, тк были пропущенны скобки. Если бы со скобками все было ок, то автор вопроса сам бы увидел следующую ошибку, что convert_to не объявлена, что пофикшено в Вашей версии кода

Sonic_md
Где что не так? нужно поправить?
Забирайте рабочий вариант
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