Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 16.01.2011
Сообщений: 33
1

Разделители в параметрах

29.09.2015, 09:54. Показов 1532. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне нужно запустить программу и в качестве параметров нужно указать координаты трех вершин в виде:
C:\........ python prog.py 1,2 3,4 5,6
Нужно чтобы эти значения соответствовали переменным x1,y1 x2,y2 x3,y3
У меня пока получается запускать прогу так:
C:\........ python prog.py 1 2 3 4 5 6
Не знаю как добавить запятые
Вот код если он нужен:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#coding: UTF-8
import math
import sys
 
if len(sys.argv) < 7:
    print(u"Не достаточно аргументов")
else:
 
    x1 = float(sys.argv[1])
    y1 = float(sys.argv[2])
 
    x2 = float(sys.argv[3])
    y2 = float(sys.argv[4])
 
    x3 = float(sys.argv[5])
    y3 = float(sys.argv[6])
 
    a = (x2 - x1) ** 2 #нахождение длины вектора AB
    b = (y2 - y1) ** 2
    AB = float(math.sqrt(a + b))
    c = (x3 - x2) ** 2 #нахождение длины вектора BC
    d = (y3 - y2) ** 2
    BC = float(math.sqrt(c + d))
    e = (x1 - x3) ** 2 #нахождение длины вектора CA
    f = (y1 - y3) ** 2
    CA = float(math.sqrt(e + f))
 
    p = (AB + BC + CA) / 2 #полупериметр треугольника
    S = float(math.sqrt(p * (p - AB) * (p - BC) * (p - CA))) #периметр треугольника
 
    AB = round(AB, 2) #округление длин сторон до сотых
    BC = round(BC, 2)
    CA = round(CA, 2)
    print 'AB =',AB
    print 'BC =',BC
    print 'CA =',CA
 
    if S == 0:
        print u'Заданные координаты НЕ являются вершинами треугольника'
    else:
        print u'Заданные координаты являются вершинами треугольника'
        if AB == BC and BC == CA and CA == AB:
            print u'Тип треугольника - равносторонний'
        elif (AB == BC and AB != CA) or (CA == AB and CA != BC) or (BC == CA and CA != AB):
            print u'Тип треугольника - равнобедренный'
        else:
            print u'Тип треугольника - обычный'
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2015, 09:54
Ответы с готовыми решениями:

Разделители
Реализовать функцию для разбиения строки на отдельные фрагменты по заданному разделителю....

Разделители
Число в таком виде Нужно переделать в такой вид $result =...

Разделители
Доброго времени суток! У меня следующий вопрос. есть код: echo &quot;&lt;ul class=\&quot;cat\&quot;&gt;&quot;; ...

Qt Creator и разделители
Добрый день. Если в Qt Creator работать сразу с двумя проектами, то вполне удобно использовать...

4
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
29.09.2015, 10:07 2
Python
1
2
3
>>> import argparse
>>> help(argparse)
...
0
Эксперт по компьютерным сетям
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
29.09.2015, 10:20 3
Лучший ответ Сообщение было отмечено KILLERLOT как решение

Решение

greg zakharov, оверкилл имхо

KILLERLOT,
вот так можно сделать лист координат точек
Python
1
2
import sys
print(list(x.split(',') for x in sys.argv[1:]))
Код
$ python check.py 1,2 3,4 5,6
[['1', '2'], ['3', '4'], ['5', '6']]
2
2 / 2 / 0
Регистрация: 16.01.2011
Сообщений: 33
29.09.2015, 11:00  [ТС] 4
Спасибо, более менее то что нужно)
0
Эксперт по компьютерным сетям
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
29.09.2015, 11:57 5
KILLERLOT,

вариант:
Python
1
2
3
4
5
import sys
 
x1, y1 = sys.argv[1].split(',')
x2, y2 = sys.argv[2].split(',')
x3, y3 = sys.argv[3].split(',')
Добавлено через 52 минуты
вариант:

Python
1
2
a1,b1,a2,b2,a3,b3 = tuple(','.join(sys.argv[1:]).split(','))
print a1,b1,a2,b2,a3,b3
0
29.09.2015, 11:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2015, 11:57
Помогаю со студенческими работами здесь

Строки и разделители
Доброго времени суток. получил задание такого типа: Выделить в строке-предложении s все слова,...

Разделители в строке
Здравствуйте. У меня есть некоторая строка, содержащая символы вертикальной черты |. При попытке...

Разделители в сортировке
Добрый день! имеется функция разделения строки на подстроки (части): //разбиваем строку на части...

Разделители PHP
Здравствуйте, необходимо найти в массиве первое слово типа #23e2e2(то есть # и какие то символы) и...

Разделители в Memo
как сделать чтобы в мемо перед символом ; считался логин а после пароль?

Разделители в csv
задача , написать прогу которая бы читала цсв файлы, записывала в бд и выводила на экран. Данную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru