import random
class Player(object):
def __init__(self, money):
"""Constructor"""
self.money = float(money)
def check_money_for_final(self):
if self.money >= 1000:
return False
else:
return True
def work_distribution_of_leaflets(money):
money_add = random.randint(5,10)
print("Было заработано на раздаче листовок: ", money_add, "\nВсего денег: ", money + money_add)
return money + money_add
def work_programming(money):
money_add = random.randint(5,30)
print("Было заработано на программировании: ", money_add, "\nВсего денег: ", money + money_add)
return money + money_add
def lucky_rate(money):
lucky = random.randint(0,100)
if lucky >= 50:
money_add = money * 0.5
print("Было заработано на ставке: ", money_add, "\nВсего денег: ", money + money_add)
else:
money_add = 0
money = 0
print("Всё было потеряно!\nВсего денег: ", money + money_add)
return money + money_add
if __name__ == "__main__":
player = Player(200.0)
while player.check_money_for_final():
print("Количество денег: ", player.money)
print("1) Раздавать листовки \n2) Программировать \n3) Сыграть ставку\n")
ans = input()
if ans == '1':
player.money = work_distribution_of_leaflets(player.money)
elif ans == '2':
player.money = work_programming(player.money)
elif ans == '3':
player.money = lucky_rate(player.money)
if player.money == 0.0:
print("Вы проиграли")
break
if not(player.check_money_for_final()):
print("Вы победили!")
break
сначала переводим целую часть в шестнадцатиричную систему счисления по стандартному алгоритму:
29:16=1(13) - 1 - целая часть, 13 - остаток
13 в шестадцатиричной системе обозначается буквой D.
Полученное число: 1D
Теперь переводим дробную часть в шестнадцатиричную систему счисления:
0,62*16=9,92(9) - в скобки выписываем целую часть
0,92*16=14,72(14) - дробную часть от предыдущего умножаем на основание системы счисления.
И повторяем эти действия, пока не достигнем требуемой точности:
0,72*16=11,52(11)
0,52*16=8,32(8)
0,32*16=5,12(5)
0,12*16=1,92(1)
0,92*16=14,72(14)
0,72*16=11,52(11)
Цифры в скобках записываем в одно число сверху вниз( 11 - B, 14 - E):
0,9EB851EB - это дробная часть
В итоге:
1D,9EB851EB - это данное число в 16-ричной системе счисления
2.36
3.36
всё теперь ясно понятно то просто символов мало вот и пишу незнаю что