Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 6, 2012 09:43:58

vashvampir
Зарегистрирован: 2012-11-06
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема со скриптом, непонятливым sl4a и руками...

Возникла проблема: sl4a ругается на двоеточие в 96 строчке (3я с конца), притом по идее всё синтаксически правильно..

Python 2.6.2, sl4a r6 в качестве оболочки.

Есть какие-нибудь мысли по этому поводу? Прошу вас особо не ругать, так как я совсем новичок, но любая критика принимается.


[code python] # coding: utf8
# Во имя луны!
from android import Android
from math import sqrt as sq
droid=Android()
# tit - заголовок диалогового окна выбора, pun - пункты меню в виде словаря, res - результат диалога (строка к сожалению) , inp - введёное число, out - результат расчётов, vyb - вызов диалога выбора, conv - функцияя конвертации, co - список коэффициентов
#
# Объявление функций
def vyb(tit, pun):
droid.dialogCreateAlert(tit)
droid.dialogSetSingleChoiceItems(pun)
droid.dialogSetPositiveButtonText('Ok')
droid.dialogShow()
droid.dialogGetResponse()
global res
res = str(droid.dialogGetSelectedItems().result)
return(tit, pun)
def conv():
global co
if res == '[0]':
inp = float(droid.dialogGetInput('Солько?', None).result)
out = inp * co[0]
droid.dialogGetInput('Получаем ', pun[0], str(out))
if res == '[1]':
inp = float(droid.dialogGetInput('Солько?', None).result)
out = inp * co[1]
droid.dialogGetInput('Получаем ', pun[1], str(out))
if res == '[2]':
inp = float(droid.dialogGetInput('Солько?', None).result)
out = inp * co[2]
droid.dialogGetInput('Получаем ', pun[2], str(out))
if res == '[3]':
inp = float(droid.dialogGetInput('Солько?', None).result)
out = inp * co[3]
droid.dialogGetInput('Получаем ', pun[3], str(out))
#
# Тело программы
tit = 'Скорость. Что конвертируем или считаем?'
pun = ['км/ч', 'м/с', 'миля/ч', 'узел', 'Число Маха (расчёт)', '! Недопилено, нету нормальной формулыы ! Скорость звука в газе (расчёт)', 'Скорость звука в жидкости (расчёт)', 'Скорость звука в тв. теле (расчёт)']
vyb(tit, pun)
tit='А во что?'
if res == '[0]' or '[1]' or '[2]' or '[3]':
pun = ['км/ч', 'м/с', 'миля/ч', 'узел']

if res == '[0]':
vyb(tit, pun)
co=[1, 3.6, 1.6093, 1.852]
conv()
elif res == '[1]':
vyb(tit, pun)
co=[0.2777, 1, 0.4469, 0.5143]
conv()
elif res == '[2]':
vyb(tit, pun)
co=[0.6214, 2.236997, 1, 1.1508]
conv()
elif res == '[3]':
vyb(tit, pun)
co=[0.54, 1.9438, 0.868952, 1 ]
conv()


elif res == '[4]':
V = float(droid.dialogGetInput('Скорость потока (м/с)', None).result)
a = float(droid.dialogGetInput('Скорость звука в среде (м/с)', None).result)
M = V/a
droid.dialogGetInput('Число Маха:', None, str(M))
elif res == '[5]':
tit = 'Какой у нас газ?'
pun = ['Одноатомный', 'Двухатомный или воздух', 'Многоатомный']
t = float(droid.dialogGetInput('Темпиратура (°C) ', None).result)
M = float(droid.dialogGetInput('Молярная масса (г/моль)', None).result)/1000
vyb(tit, pun)
if res == '[0]':
c = sq(((5/3)*8.31441*(t+273.15))/M)
elif res == '[1]':
c = sq(((7/5)*8.31441*(t+273.15))/M)
elif res == '[2]':
c = sq(((4/3)*8.31441*(t+273.15))/M)
droid.dialogGetInput('Скорость звука:', None, str(c) + 'м/с')
elif res == '[6]':
B = float(droid.dialogGetInput('Адиабатическая сжимаемость среды', None).result)
P = float(droid.dialogGetInput('Плотность среды (кг/м^3 или г/мл)', None).result)
c = sq(1/(B*P))
droid.dialogGetInput('Скорость звука:', None, str(c) + 'м/с')
elif res == '[7]':
tit = 'Какой тип молны?'
pun = ['Продольная (P-волна)', 'Поперечная (S-волна']
G = float(droid.dialogGetInput('Модуль сдвига:', None).result)
P = float(droid.dialogGetInput('Плотность (г/см^3 или кг/м^3)', None).result)
vyb(tit, pun)

if res == '[0]':
K = float(droid.dialogGetInput('Модуль всестороннего сжатия:', None).result)
c = sq( (K+((4*G)/3)/P )
if res == '[1]':
c = sq(G/P)
droid.dialogGetInput('Скорость звука:', None, str(c) + 'м/с')
[/code]

Офлайн

#2 Ноя. 6, 2012 09:55:31

mironich
От:
Зарегистрирован: 2011-05-23
Сообщения: 118
Репутация: +  2  -
Профиль   Отправить e-mail  

Проблема со скриптом, непонятливым sl4a и руками...

c = sq(1
(2
K+(3
(4*G 
)3/3
)2/P 
)1
Скобкки не хватает, в 4 с конца строке



Офлайн

#3 Ноя. 6, 2012 09:58:44

vashvampir
Зарегистрирован: 2012-11-06
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема со скриптом, непонятливым sl4a и руками...

mironich, Спасибо огромное! Значит проблема всё таки с руками

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version