Web3CyberAgent / api /crypto_utils.py
web3cyberservices
Update crypto_utils.py
07aebd1 unverified
Raw
History Blame Contribute Delete
2.36 kB
import random
def get_mock_price(ticker: str) -> str:
"""
Генерирует случайную моковую цену для указанного тикера криптовалюты
и возвращает ее в красивой строке с эмодзи.
Args:
ticker (str): Символ криптовалюты (например, 'BTC', 'ETH').
Returns:
str: Отформатированная строка с ценой и эмодзи, например:
"💰 BTC: $45,123.45 🚀"
"""
# Определяем диапазон цен в зависимости от тикера для более реалистичных моковых данных
if ticker.upper() == 'BTC':
min_price, max_price = 20000.0, 100000.0
elif ticker.upper() == 'ETH':
min_price, max_price = 1000.0, 5000.0
elif ticker.upper() == 'BNB':
min_price, max_price = 200.0, 800.0
elif ticker.upper() == 'SOL':
min_price, max_price = 50.0, 300.0
elif ticker.upper() == 'XRP':
min_price, max_price = 0.3, 2.0
elif ticker.upper() == 'ADA':
min_price, max_price = 0.2, 3.0
elif ticker.upper() == 'DOGE':
min_price, max_price = 0.05, 0.5
else:
# Общий диапазон для других альткоинов
min_price, max_price = 0.01, 500.0
# Генерируем случайную цену в заданном диапазоне
price = random.uniform(min_price, max_price)
# Форматируем цену в виде валюты с двумя знаками после запятой и разделителем тысяч
formatted_price = f"${price:,.2f}"
# Выбираем случайные эмодзи для украшения
emojis = ['💰', '📈', '🚀', '✨', '💎', '🌟']
start_emoji = random.choice(emojis)
end_emoji = random.choice(emojis)
return f"{start_emoji} {ticker.upper()}: {formatted_price} {end_emoji}"
if __name__ == '__main__':
# Примеры использования функции
print(get_mock_price('BTC'))
print(get_mock_price('ETH'))
print(get_mock_price('ADA'))
print(get_mock_price('DOGE'))
print(get_mock_price('SOL'))
print(get_mock_price('XRP'))
print(get_mock_price('UNKNOWN'))