Задается случайное вещественное число. Определить максимальную цифру этого числа.
from random import random
num = round(random() * 1000, 3)
print(num)
strNum = str(num)
maxDigit = -1
for i in range(len(strNum)):
if strNum[i] == '.':
continue
elif maxDigit < int(strNum[i]):
maxDigit = int(strNum[i])
print(maxDigit)
С комментариями:
# функция random из модуля random генерирует
# вещественные случайные числа от 0 до 1
from random import random
# генерируется случайное число до 1000
# и округляется до 3-х знаков после запятой
num = round(random() * 1000, 3)
print(num)
# число преобразуется в строку
strNum = str(num)
# Переменная, которая будет содержать максимальную цифру.
# Присваивается значение меньшее, чем любая допустимая цифра.
maxDigit = -1
# Количество итераций цикла равно длине строки.
# Счетчик i принимате значения от 0 до len-1 включительно.
for i in range(len(strNum)):
# Если текущий символ является точкой
if strNum[i] == '.':
# то прервать итерацию и перейти к следующей
continue
# иначе преобразовать символ к целому числу и сравнить
# со значением maxDigit. Если maxDigit меньше,
elif maxDigit < int(strNum[i]):
# то присвоить этой переменной числовое представление
# символа строки с индексом i.
maxDigit = int(strNum[i])
print(maxDigit)
Пример выполнения:
56.457
7