Задать вопрос
@3zd1
Новичок-самоучка на Python

Проблема с округлением переменных через round, как исправить?

Этот код (приведен в самом низу) был взят из моего основного, при этом я его зациклил чтобы он работал самостоятельно. Его одна из задач - увеличивать цену после каждого нажатия кнопки (в данном случае он самостоятельно делает), при этом чтобы цена вырастала плавно, она складывается с коэффициентом, который в свою очередь умножается на 1,5. Чтобы избавиться от цифр после запятой использую round(). Но столкнулся с такой проблемой, что он округляет число лишь в месте, где была использована функция округления. В других частях кода также остаются цифры после запятой. Вставлять везде round(), где есть переменная cnt - не вариант. При этом в этом моменте:
wtext.configure(text = "Кол-во монет:  " + str(cnt))
он необходим как str, поэтому с применением int есть проблемы. Если написать через запятую или через "+" в тексте, он выдаст ошибку. И самая главная проблема - если я отображаю число с помощь round(), то на выходе он мне может показать: Денег - 42. Цена - 42. Недостаточно денег. Все из за цифр после запятой.
Можно сделать так, чтобы он всегда округлялся, в том числе при подсчете.
Вот код:
import time

cnt = 0
pricePB_int = 10
factor = 1
while True:
	if cnt >= pricePB_int: # cnt - кол-во монет, #pricePB_int - цена
		cnt = cnt - pricePB_int
		print("Успешная покупка!")
		factor *= 1.5
		print("Множитель цены: ", int(factor))
		pricePB_int = pricePB_int + factor # после покупки, цена увеличивается на factor-значение
		print("Новая цена: ", int(pricePB_int))
	elif cnt < pricePB_int:
		print("Недостаточно денег")
	print(pricePB_int)
	print("Деньги после покупки: ", round(cnt))
	cnt += 5
	print("Выдали деньги", round(cnt), "\n")
	time.sleep(1)


P.S. также решил исправить проблему, написав текст отдельной строкой. Вместо
wtext.configure(text = "Кол-во монет:  " + str(cnt))

Сделал вот так:
text_for_wtext = ("Кол-во монет:", cnt)
wtext.configure(text = text_for_wtext)

Появляется другая проблема, текст отображается внутри скобок {}, который разумеется я не ставил и они мне не нужны
  • Вопрос задан
  • 39 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@dim5x
ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
Ф-строки смотрите:
print(f'lol kek, {cnt}')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы