Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 15, 2015 18:49:11

jobsdata
Зарегистрирован: 2015-09-15
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

Ребят подскажите, есть функция замены числа, если числа одинаковые?

import random
numberRobot = random.randint(999,9999)
for i numberRobot:
    print i


Если numberRobot = 1234 (разные по значению), то ОК, если 5532, то одну 5 заменить на другое число? Не могу сообразить. Спасибо.

Офлайн

#2 Сен. 15, 2015 18:56:48

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

А какова цель, если не секрет?!
Как я понимаю - нет такой функции, вам придется самому сделать проверку на вхождение цифры более одного раза в сгенерированное число.

Офлайн

#3 Сен. 15, 2015 19:02:20

jobsdata
Зарегистрирован: 2015-09-15
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

Originator
А какова цель, если не секрет?!Как я понимаю - нет такой функции, вам придется самому сделать проверку на вхождение цифры более одного раза в сгенерированное число.

Секрет А как сделать то эту проверку?

Я застрял на

import random
x = str(random.randint(999,9999))
for i in x:
    print (i)
    
print (x)

Делаю строку из числа, и хз как сравнить его и чтоб найти совпадение, да еще и заменить одинаковые числа

Отредактировано jobsdata (Сен. 15, 2015 19:03:02)

Офлайн

#4 Сен. 15, 2015 19:22:20

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

Мне так сразу не написать код, не тот уровень. Для себя я подумаю над задачей. Наверняка, да что там, 100% есть несколько путей решения, наверняка опытные подскажут.
ЗЫ: возможно перевести в str, и путем перебора в цикле цифр, проверять на совпадение в строке.
ЗЫ:ЗЫ: возможно есть методы которыми это еще проще сделать.

Офлайн

#5 Сен. 15, 2015 19:30:24

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

Если numberRobot = 1234 (разные по значению), то ОК, если 5532, то одну 5 заменить на другое число? Не могу сообразить. Спасибо.
Это называется создать себе проблему, а потом её мужественно решать
Вам не нужно заменять числа, вам нужно сразу генерировать случайное число таким образом, чтобы в нём не было повторений
cash = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(cash)
print("".join(map(str, cash[:4])))



Офлайн

#6 Сен. 15, 2015 19:38:11

jobsdata
Зарегистрирован: 2015-09-15
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

FishHook
join

Где же Вы раньше были Спасибо.

Если не трудно скажите в какую сторону копать (хочу сам по пробовать сообразить): Полученное число вашим кодом , получить кол-во совпадений с числом полученным из input() ? То есть если выпало число 4521, ввели 4831, совпало два числа, получить кол-во совпавших чисел?

Офлайн

#7 Сен. 15, 2015 19:40:17

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

Нда-а-а-а-а, еще учить и учить нам матчасть ))))
Спасибо FishHook , все как всегда оказалось проще и элегантней.

Офлайн

#8 Сен. 15, 2015 19:49:48

jobsdata
Зарегистрирован: 2015-09-15
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

Originator
Нда-а-а-а-а, еще учить и учить нам матчасть ))))Спасибо FishHook , все как всегда оказалось проще и элегантней.
Мат. часть говорите?
map(function, iterator) - Итератор, получившийся после применения к каждому элементу последовательности функции function. - это с одного сайта инфа. После прочтения в голове: ЧТО ЭТО ЗА ХРЕНЬ?

Нам еще слова понимать только учится надо

Офлайн

#9 Сен. 15, 2015 19:50:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

jobsdata
Если не трудно скажите в какую сторону копать (хочу сам по пробовать сообразить): Полученное число вашим кодом , получить кол-во совпадений с числом полученным из input() ? То есть если выпало число 4521, ввели 4831, совпало два числа, получить кол-во совпавших чисел?
Способов, разумеется миллион. Пожалуй, самым питонячьим будет использовать zip.
Это была подсказка, дальше гуглите.



Офлайн

#10 Сен. 15, 2015 19:51:45

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Замена числа. Есть функция?

jobsdata
А вы перед тем как на сайты ходить взяли бы книжечку, например, Марк Лутц 4-е издание да и почитали бы.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version