Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186

Функция для проверки суммы

28.07.2010, 04:11. Показов 2616. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Я в python силен только для редактирования, но у меня возник вопрос, на который я просто в надежде получить ответ.
Знатоки будьте любезны подскажите.
есть кусочек кода
Python
1
2
3
4
5
6
7
8
9
      #spellbook
       elif itype == "Spellbook":
         ptype = str ("Spellbook")
       #soulshot
       elif itype == "Shot":
         ptype = str ("Soulshot")
       st.getPlayer().destroyItem("q8033_MarketSell",itemObjId, itemCount, st.getPlayer(), 0)
       st.getPlayer().sendPacket(SystemMessage.sendString(""+count+ " " + itemTemplate.getName() + "" + enchant + " выстановлено на аукцион за "+str(itemPrice)+" adena"));
       htmltext = "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>"+count+" " + itemTemplate.getName() + "" + enchant + "</font> за "+str(itemPrice)+" adena"
В кратце..
В данном скрипте происходит регистрация предмета в нужный отдел с ценой которую вписываешь.
Я хочу сделать проверку на нужную сумму денег для регистрации и коммисию за выставление предмета на аукцион.
Делаю так
Python
1
2
3
4
5
6
7
8
9
10
11
#spellbook
       elif itype == "Spellbook":
         ptype = str ("Spellbook")
       #soulshot
       elif itype == "Shot":
         ptype = str ("Soulshot")
+    if st.getQuestItemsCount(57) >= 2500:
+    st.takeItems(57,2500)
       st.getPlayer().destroyItem("q8033_MarketSell",itemObjId, itemCount, st.getPlayer(), 0)
       st.getPlayer().sendPacket(SystemMessage.sendString(""+count+ " " + itemTemplate.getName() + "" + enchant + " выстановлено на аукцион за "+str(itemPrice)+" adena"));
       htmltext = "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>"+count+" " + itemTemplate.getName() + "" + enchant + "</font> за "+str(itemPrice)+" adena"
Но скрипт таким образом не работает, если я делаю только коммисию за выставление предмета

Python
1
2
3
4
5
6
7
8
9
10
#spellbook
       elif itype == "Spellbook":
         ptype = str ("Spellbook")
       #soulshot
       elif itype == "Shot":
         ptype = str ("Soulshot")
+    st.takeItems(57,2500)
       st.getPlayer().destroyItem("q8033_MarketSell",itemObjId, itemCount, st.getPlayer(), 0)
       st.getPlayer().sendPacket(SystemMessage.sendString(""+count+ " " + itemTemplate.getName() + "" + enchant + " выстановлено на аукцион за "+str(itemPrice)+" adena"));
       htmltext = "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>"+count+" " + itemTemplate.getName() + "" + enchant + "</font> за "+str(itemPrice)+" adena"
То скрипт работает коммисия взымается, но вот как сделать проверку? ТОесть если есть данное колличесвто денег в нашем случае это 2500, то скрипт выполняет работу дальше, если нет то переадресовывает на html страницу под название nocash.
Подскажите пожалуйста.
P.S. Уже всю голову обчесал (
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.07.2010, 04:11
Ответы с готовыми решениями:

Функция проверки ввода как отдельная функция для других функций
Проверка на ввод - принимает значения вплоть до типа '2.3pi/1.05' или '5.6/pi'. Возможно, есть ошибки при вводе, пока не нашла. Как эту...

Функция для проверки числа на нечетность
Объявите функцию для проверки числа на нечетность (возвращается True, если переданное число нечетное и False, если число четное). После...

Функция для нахождения суммы цифр целого числа
Напишите рекурсивную функцию для нахождения суммы цифр целого числа.

5
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.07.2010, 06:18
Python
1
ptype = str ("Spellbook")
Python
1
ptype = "Spellbook"
Python
1
+ "" +
в чём смысл ? чтобы было ?

Python
1
2
3
4
5
6
7
a, b = 3, 4 
 
sum = a
 
+ b
 
print(a, b, sum)
вывод
Code
1
2
3
[guest@station tmp]$ python3 t.py
3 4 3
[guest@station tmp]$
не, ты объясни, что это такое
Code
1
2
+    if st.getQuestItemsCount(57) >= 2500:
+    st.takeItems(57,2500)
что за плюсы в начале строк

Добавлено через 8 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
 
a = 1
 
if a == 1:
    if a == 1:
        if a == 2:
            print(a)
        elif a == 3:
            print(a)
    else:
       print(a)
else:
    print(a)
a ни разу не выведется, но дойдёт он до elif a == 3:
0
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186
28.07.2010, 08:05  [ТС]
в чём смысл ? чтобы было ?
код писал не я
Если бы писал я, уж точно не просил ответа на форуме на такую мелочь
что за плюсы в начале строк
Эти плюсы для вас что бы было понятно какие строки я добавил, но эти строки были добавлены методом фтыка и логики Мои знания с кодинге приравниваются нулю.
Python
1
2
3
4
5
6
7
a, b = 3, 4 
 
sum = a
 
+ b
 
print(a, b, sum)
Выложить полностью скрипт?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.07.2010, 08:52
попробуй такую

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
       #spellbook
       elif itype == "Spellbook":
         ptype = str ("Spellbook")
       #soulshot
       elif itype == "Shot":
         ptype = str ("Soulshot")
 
       if st.getQuestItemsCount(57) >= 2500:
 
         st.takeItems(57, 2500)
 
         st.getPlayer().destroyItem(
                          "q8033_MarketSell",
                          itemObjId,
                          itemCount,
                          st.getPlayer(),
                          0
                        )
 
         st.getPlayer().sendPacket(
                          SystemMessage.sendString(
                            "" + 
                            count +
                            " " +
                            itemTemplate.getName() + 
                            "" + 
                            enchant + 
                            " выстановлено на аукцион за " +
                            str(itemPrice) +
                            " adena"
                          )
                        )
 
         htmltext = (
           "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>" +
           count +
           " " +
           itemTemplate.getName() +
           "" +
           enchant +
           "</font> за " +
           str(itemPrice) +
           " adena"
         )


Добавлено через 43 секунды
отступы коротковаты, лучше по четыре

Добавлено через 3 минуты
отступы по четыре

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
       #spellbook
       elif itype == "Spellbook":
           ptype = str("Spellbook")
       #soulshot
       elif itype == "Shot":
           ptype = str("Soulshot")
 
       if st.getQuestItemsCount(57) >= 2500:
 
           st.takeItems(57, 2500)
 
           st.getPlayer().destroyItem(
               "q8033_MarketSell",
               itemObjId,
               itemCount,
               st.getPlayer(),
               0
           )
 
           st.getPlayer().sendPacket(
               SystemMessage.sendString(
                   "" + 
                   count +
                   " " +
                   itemTemplate.getName() + 
                   "" + 
                   enchant + 
                   " выстановлено на аукцион за " +
                   str(itemPrice) +
                   " adena"
               )
           )
 
           htmltext = (
               "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>" +
               count +
               " " +
               itemTemplate.getName() +
               "" +
               enchant +
               "</font> за " +
               str(itemPrice) +
               " adena"
           )
1
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186
28.07.2010, 10:33  [ТС]
accept, Спасибо Большое незнаю как тебя отблагодарить!
Скрипт заработал!
Ура, спасибо.
Я внимательно изучил образцы до и после и увидев разницу в том что после
строки
Python
1
       st.getPlayer().sendPacket(SystemMessage.sendString(""+count+ " " + itemTemplate.getName() + "" + enchant + " выстановлено на аукцион за "+str(itemPrice)+" adena"));
У Вас убрана
Python
1
;
и в строке
Python
1
htmltext = "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>"+count+" " + itemTemplate.getName() + "" + enchant + "</font> за "+str(itemPrice)+" adena"
Добавлено
Python
1
htmltext ( =
и после слово адена также закрывается функция
Python
1
 " adena")
Получается только в этом была проблема?
И про отступы Вы имеете ввиду визуальную структуру?
Прошу прощения за тупые вопросы просто я пытаюсь понять в чем тут дело.
И если вас не затруднит вопросик про передаресацию на html страницу созданую рядом со скриптом.
Либо просто Надпись в этой html странице нужно делать так
Python
1
htmltext = "Извените, но для регистрации предмета на аукционе требуеться сумма не меньше 2500."
Но вот как её присвоить именно так что б она выводилась если у данного персонажа не имеется данной суммы.
Если я написал бред прошу, прощения
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.07.2010, 11:26
отступы по четыре, плюс else

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
48
49
50
51
52
       #spellbook
       elif itype == "Spellbook":
           ptype = "Spellbook" # здесь поправил
       #soulshot
       elif itype == "Shot":
           ptype = "Soulshot" # здесь поправил
 
       if st.getQuestItemsCount(57) < 2500:
 
           htmltext = (
               "Извините, но для регистрации предмета на аукционе"
               " требуется сумма не меньше 2500."
           )
 
       else:
 
           st.takeItems(57, 2500)
 
           st.getPlayer().destroyItem(
               "q8033_MarketSell",
               itemObjId,
               itemCount,
               st.getPlayer(),
               0
           )
 
           st.getPlayer().sendPacket(
               SystemMessage.sendString(
                   "" + 
                   count +
                   " " +
                   itemTemplate.getName() + 
                   "" + 
                   enchant + 
                   " выстановлено на аукцион за " +
                   str(itemPrice) +
                   " adena"
               )
           )
 
           htmltext = (
               "<html><body>Market:<br>Выстановлено на аукцион:"
               "<br><font color=LEVEL>" +
               count +
               " " +
               itemTemplate.getName() +
               "" +
               enchant +
               "</font> за " +
               str(itemPrice) +
               " adena"
           )


Цитата Сообщение от noobasik
И про отступы Вы имеете ввиду визуальную структуру?
нет, отступы в питоне отвечают за синтаксис, в других языках используются фигурные скобки, отступы определяют блок
ну, конечно, не всегда (то есть, где отступы, это ещё не значит, что там блок, но все блоки определяются отступами)

Добавлено через 8 минут
Python
1
htmltext = (
смысл этой скобки в том, чтобы организовать внутри многострочный вариант
скобки позволяют одно выражение разделить на несколько строк, чтобы придать этому делу читаемый вид
сделай import this
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.07.2010, 11:26
Помогаю со студенческими работами здесь

Условие проверки суммы элементов массива
Функцией рандома задал массив вероятностей из некоторого количества элементов (тут количество значения не имеет). Вывожу сумму элементов...

Функция для проверки веб страницы на код ответа сервера
Здравствуйте Всем. Прекрасно понимаю, что мой вопрос, звучит дилетантским, я ещё новичок в этой теме. Хотя сейчас слово “новичок”...

Рекурсивная функция для вычисления суммы списка целых чисел
Напишите рекурсивную функцию для вычисления суммы список целых чисел.

Функция для проверки введенного Ф.И.О.
Убедительная просьба, если кто-нибудь сталкивался, поделитесь тонкостями проверки корректности введенного в форму Ф.И.О. Может это будет...

Функция для проверки кнопки
Доброго времени суток! Есть функция для проверки радио кнопки. if (sender.getFieldName() == 'ID_WORK_TYPE') { ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru