Найти - Пользователи
Полная версия: Работа в командной строке
Начало » Python для новичков » Работа в командной строке
1
AlexSSpirit
Не получается написать код, с помощью которого можно написав название программы и значение в командной строке, получить ответ.

import sys
C = float(sys.argv[1])
F = 9.0*C/5 + 32
print F

по идее должно получаться так:
c2f.py 21
 69.8

В статье, по котрой я учусь, код написан на версии 2** , а я на версии 3** сижу.
Наверное в этом и проблема. Ведь вроде всё должно работать, а у меня при вызове пишет всякую ерунду, потип: переменная не найдена/неправильный синтаксис и т.п.

Пожалуйста подскажите как отредактировать код, чтоб в командной строке, можно было вызвав программу и написав значение переменной - получить ответ.
lorien
> Наверное в этом и проблема. Ведь вроде всё должно работать, а у меня при вызове пишет всякую ерунду, потип: переменная не найдена/неправильный синтаксис и т.п.

Вот эту ерунду дословно и нужно копировать в сообщение. Мы же не телепаты. Что значит и т.п. Каждый раз разное пишет? :)
fata1ex
Например:
import argparse
 
 
parser = argparse.ArgumentParser()
parser.add_argument(dest='param', type=int)
args = parser.parse_args()
 
print args.param ** 2

[18:34] home:~/dev python sqr.py 2
4
[18:35] home:~/dev python sqr.py 10
100

argparse
Singularity

" 2 , а я на версии 3 сижу" Там print(F) "C = float(sys.argv[1])" И в python листы с нуля индексируются, так что надо sys.argv[0] . Хотя за Python 3 не знаю

AlexSSpirit
lorien
Вот эту ерунду дословно и нужно копировать в сообщение. Мы же не телепаты. Что значит и т.п. Каждый раз разное пишет? :)

Пошагово опишу:
1)создаю прогу
import sys
C = float(sys.argv[1])
F = 9.0*C/5 + 32
print (F)

2)захожу в командную строку Python и набираю:
prog21.py 12
мне выдаёт : SyntaxError: invalid syntax (Указывая на переменную 12)

Я вот думаю, можт там какойто путь к файлу пробить надо в командной строке?!)
блин в викиверсити этому не учат(
fata1ex
AlexSSpirit
lorien
Вот эту ерунду дословно и нужно копировать в сообщение

AlexSSpirit
мне выдаёт : SyntaxError: invalid syntax указывая на на переменную

?
reclosedev
AlexSSpirit
захожу в командную строку Python и набираю:
У меня единственное предположение, что вы набираете в командной строке python, заходите в интерпритатор, который выводит что-то вроде:
Python 3.2.2 (default, Sep  4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
и там вводите
prog21.py 12
?
Если да, то это неправильно.
Выше уже fata1ex показывал как надо.
python prog21.py 12


Singularity
И в python листы с нуля индексируются, так что надо sys.argv
В sys.argv[0] имя скрипта, аргументы с элемента 1 начинаются.

сдаюсь, BBCode победил.
AlexSSpirit
Сам нашёл в чём проблема, реально просто путь не проложил.
В cmd PATH C:\Python32\
program21.py 40
104.0 (-выводит)


Но в любом случае всем спасибо ребят) я не описал нормально суть проблемы, отсюда и не понимание
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