Найти - Пользователи
Полная версия: Работа в командной строке.
Начало » Python для новичков » Работа в командной строке.
1
AlexSSpirit
def вершок(x): 
    p=x/4 
    a=x/4/4
    s=x/4/4/3
    v2=x/4/4/3/500
    return print(''' = 
%g пядь
%g аршин
%g сажень
%g верста''' %(p,a,s,v2)) 
def пядь(x):
    v=x*4
    a=x/4
    s=x/4/3
    v2=x/4/3/500
    return print(''' =
%g вершок
%g аршин
%g сажень
%g верста''' %(v,a,s,v2))
def аршин(x):
    v=x*4*4
    p=x*4
    s=x/3
    v2=x/3/500
    return print(''' =
%g вершок
%g пядь
%g сажень
%g верста''' %(v,p,s,v2))
def сажень(x):
    v=x*4*4*3
    p=x*4*3
    a=x*3
    v2=x/500
    return print(''' =
%g вершок
%g пядь
%g аршин
%g верста''' %(v,p,a,v2))
def верста(x):
    v=x*4*4*3*500
    p=x*4*3*500
    a=x*3*500
    s=x*500
    return print(''' =
%g вершок
%g пядь
%g аршин
%g сажень''' %(v,p,a,s))

-Это мой код конвертера при работе в интерпретаторе .

Мне надо изменить код так, чтобы можно было выберать величину и задавать ей значения в командной строке, ну и разумеется чтоб выводило схоже оформленный ответ.
Пожалуйста ребят, подскажите каким образом это проделать.
fata1ex
AlexSSpirit, чем вас не устроил вариант, предложенный ранее?
AlexSSpirit
fata1ex
import argparse
 
 
parser = argparse.ArgumentParser()
parser.add_argument(dest='param', type=int)
args = parser.parse_args()
 
print args.param ** 2

Для меня очень сложно выглядит код

argparse/.ArgumentParser/.add_argument/dest='param'/parse_args() подобное вижу в первый раз

Буду очень благодарен, если припишите что проделывают строчки 2 3 4
lorien
> Пожалуйста ребят, подскажите каким образом это проделать.

http://www.faqs.org/docs/diveintopython/kgp_commandline.html
fata1ex
AlexSSpirit, в конце процитированного сообщения есть ссылка на подробную документацию. Чем не устроил вариант с sys.argv, который приводился в прошлой теме?

Надо ценить время окружающих и пытаться разобраться самостоятельно. Подход “сделайте за меня, да так чтобы мне было попроще” вряд ли может привести к конструктиву.
AlexSSpirit
Ребят кому несоставляет огромных моральных трудов помочь, подскажите пожалуйста на примере, что надо приписать/изменить в коде:
def вершок(x): 
    p=x/4 
    a=x/4/4
    s=x/4/4/3
    v2=x/4/4/3/500
    return print(''' = 
%g пядь
%g аршин
%g сажень
%g верста''' %(p,a,s,v2)) 
def пядь(x):
    v=x*4
    a=x/4
    s=x/4/3
    v2=x/4/3/500
    return print(''' =
%g вершок
%g аршин
%g сажень
%g верста''' %(v,a,s,v2))
def аршин(x):
    v=x*4*4
    p=x*4
    s=x/3
    v2=x/3/500
    return print(''' =
%g вершок
%g пядь
%g сажень
%g верста''' %(v,p,s,v2))
def сажень(x):
    v=x*4*4*3
    p=x*4*3
    a=x*3
    v2=x/500
    return print(''' =
%g вершок
%g пядь
%g аршин
%g верста''' %(v,p,a,v2))
def верста(x):
    v=x*4*4*3*500
    p=x*4*3*500
    a=x*3*500
    s=x*500
    return print(''' =
%g вершок
%g пядь
%g аршин
%g сажень''' %(v,p,a,s))
Чтоб можно было как и в idle получать подобный ответ через командную строку:
 пядь(12)
 =
48 вершок
3 аршин
1 сажень
0.002 верста


В том материале, по которому я изучаю пайтон(http://ru.wikiversity.org/wiki/Программирование_и_научные_вычисления_на_языке_Python/§5) я не нашёл ответов, как это проделать(вполне возможно, что просто-напросто не вижу).

Ещё раз повторюсь - помогите, только если вам это не стоит больших моральных усилий.
sanodin
AlexSSpirit
Ребят кому несоставляет огромных моральных трудов помочь, подскажите пожалуйста на примере, что надо приписать/изменить в коде:
def вершок(x): 
    p=x/4 
    a=x/4/4
    s=x/4/4/3
    v2=x/4/4/3/500
    return print(''' = 
%g пядь
%g аршин
%g сажень
%g верста''' %(p,a,s,v2)) 
def пядь(x):
    v=x*4
    a=x/4
    s=x/4/3
    v2=x/4/3/500
    return print(''' =
%g вершок
%g аршин
%g сажень
%g верста''' %(v,a,s,v2))
def аршин(x):
    v=x*4*4
    p=x*4
    s=x/3
    v2=x/3/500
    return print(''' =
%g вершок
%g пядь
%g сажень
%g верста''' %(v,p,s,v2))
def сажень(x):
    v=x*4*4*3
    p=x*4*3
    a=x*3
    v2=x/500
    return print(''' =
%g вершок
%g пядь
%g аршин
%g верста''' %(v,p,a,v2))
def верста(x):
    v=x*4*4*3*500
    p=x*4*3*500
    a=x*3*500
    s=x*500
    return print(''' =
%g вершок
%g пядь
%g аршин
%g сажень''' %(v,p,a,s))
Чтоб можно было как и в idle получать подобный ответ через командную строку:
 пядь(12)
 =
48 вершок
3 аршин
1 сажень
0.002 верста


В том материале, по которому я изучаю пайтон(http://ru.wikiversity.org/wiki/Программирование_и_научные_вычисления_на_языке_Python/§5) я не нашёл ответов, как это проделать(вполне возможно, что просто-напросто не вижу).

Ещё раз повторюсь - помогите, только если вам это не стоит больших моральных усилий.

# -*- coding: cp1251 -*-
import sys


d=sys.argv[1]
n=sys.argv[2]
z=float(n)

def vershok(x):
p=x/4
a=x/4/4
s=x/4/4/3
v2=x/4/4/3/500
print u'Вершок ',z,(u''' =
%g пядь
%g аршин
%g сажень
%g верста''' %(p,a,s,v2))



def pyad(x):
v=x*4
a=x/4
s=x/4/3
v2=x/4/3/500
print u'Пядь',z,(u''' =
%g вершок
%g аршин
%g сажень
%g верста''' %(v,a,s,v2))
def arshin(x):
v=x*4*4
p=x*4
s=x/3
v2=x/3/500
print u'Аршин ',z, (u''' =
%g вершок
%g пядь
%g сажень
%g верста''' %(v,p,s,v2))
def sajen(x):
v=x*4*4*3
p=x*4*3
a=x*3
v2=x/500
print u'Сажень ',z, (u''' =
%g вершок
%g пядь
%g аршин
%g верста''' %(v,p,a,v2))
def versta(x):
v=x*4*4*3*500
p=x*4*3*500
a=x*3*500
s=x*500
print u'Верста ',z, (u''' =
%g вершок
%g пядь
%g аршин
%g сажень''' %(v,p,a,s))

if d == 'Вершок':
vershok(z)
elif d=='Пядь':
pyad(z)
elif d=='Аршин':
arshin(z)
elif d=='Сажень':
sajen(z)
elif d=='Верста':
versta(z)
else:
print u'Неверно '
2.py vershok 60
[0] [1] [2] -индекс

…Хотя можно подогнать и под пядь(12)
Вообще вариантов много
Под третью ветку python, print (u'Неверно ') вывод в скобки заключать
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