Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 23, 2012 20:06:05

AlexSSpirit
От:
Зарегистрирован: 2012-03-07
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа в командной строке.

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))

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

Мне надо изменить код так, чтобы можно было выберать величину и задавать ей значения в командной строке, ну и разумеется чтоб выводило схоже оформленный ответ.
Пожалуйста ребят, подскажите каким образом это проделать.



Отредактировано AlexSSpirit (Июнь 23, 2012 20:12:37)

Офлайн

#2 Июнь 23, 2012 20:12:17

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Работа в командной строке.

AlexSSpirit, чем вас не устроил вариант, предложенный ранее?



Офлайн

#3 Июнь 23, 2012 20:34:14

AlexSSpirit
От:
Зарегистрирован: 2012-03-07
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа в командной строке.

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



Офлайн

#4 Июнь 23, 2012 20:39:41

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Работа в командной строке.

> Пожалуйста ребят, подскажите каким образом это проделать.

http://www.faqs.org/docs/diveintopython/kgp_commandline.html

Офлайн

#5 Июнь 23, 2012 20:40:33

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Работа в командной строке.

AlexSSpirit, в конце процитированного сообщения есть ссылка на подробную документацию. Чем не устроил вариант с sys.argv, который приводился в прошлой теме?

Надо ценить время окружающих и пытаться разобраться самостоятельно. Подход “сделайте за меня, да так чтобы мне было попроще” вряд ли может привести к конструктиву.



Офлайн

#6 Июнь 26, 2012 01:03:30

AlexSSpirit
От:
Зарегистрирован: 2012-03-07
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа в командной строке.

Ребят кому несоставляет огромных моральных трудов помочь, подскажите пожалуйста на примере, что надо приписать/изменить в коде:

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) я не нашёл ответов, как это проделать(вполне возможно, что просто-напросто не вижу).

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



Офлайн

#7 Июнь 26, 2012 10:22:14

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Работа в командной строке.

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'Неверно ') вывод в скобки заключать

Отредактировано sanodin (Июль 3, 2012 00:19:46)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version