#python
Вопрос:
Я работаю над экономической текстовой игрой на python. у пользователя есть свой кошелек и банковский баланс. чтобы пользователь мог внести деньги со своего кошелька в свой банк, я хочу, чтобы он набрал
pls dep x
x-целое число. В моем игровом цикле я опускаю
if 'pls dep ' in type or 'pls deposit ' in type:
?
В цикле я определил тип как
type = input('> ')
и цикл проверяет, вызвал ли игрок какую-либо из команд, выполнив
if type == 'a command':
Проблема у меня в том, что я не знаю, как проверить целое число, введенное после
pls dep (integer)
Чтобы написать словами, я хочу, чтобы это было похоже
if player called the command 'pls dep ', check what the number is after 'pls dep '
and if player has that much amount of money, subtract the x from their wallet and
Add x to their bank balance.
кошелек-это
player_money = 0
а банковский баланс игроков составляет
player_bank_money = 0
Может ли кто-нибудь помочь мне в том, как кодировать(ify) то, что я сказал выше?
Комментарии:
1. Это для бота discord?
2. Разделите ввод на слова (
words = text.split()
). Если слово[0] — «pls», а слово[1] — «dep», то у слова[2] есть ваш номер.3. @NanthakumarJJ нет, это не так, но на меня повлиял бот данк мемер. я пытаюсь закодировать его в коде visual studio
Ответ №1:
Не используйте встроенные имена в качестве переменных. type
это встроенное имя.
Используя .split
(то, что сказал Тим Робертс в комментариях):
command = input('> ')
if 'pls dep ' in command or 'pls deposit ' in command:
print(f"You deposited {command.split()[2]}")
Использование .strip
(Не делайте этого, это не очень хорошее использование strip
):
command = input('> ')
if 'pls dep ' in command or 'pls deposit ' in command:
print(f"You deposited {command.strip('pls dep ').strip('pls deposit ')}")
Реализация денежных переменных (окончательный код):
player_money = 0
player_bank_money = 0
command = input('> ')
if 'pls dep ' in command or 'pls deposit ' in command:
dep_money = int(command.split()[2])
player_money -= dep_money
player_bank_money = dep_money
print(f"You have ${player_money} in your wallet. You have ${player_bank_money} is your bank.")
Кроме того, если вы не хотите, чтобы команда учитывала регистр, используйте: command.lower()
перед условиями if.
Комментарии:
1. Вы также можете добавить команду. опустите (), чтобы код мог распознать команду, и она не будет чувствительна к регистру
2. Это не очень подходящее использование
strip
. Явный аргумент используется как набор символов, а не как строка.