Как записать условие в программе?
"Исходная строка содержит десять единиц и три двойки, других цифр нет, ТОЧНЫЙ ПОРЯДОК РАСПОЛОЖЕНИЯ ЕДИНИЦ И ДВОЕК НЕИЗВЕСТЕН." Подскажите пожалуйста, как можно записать условие, что точный порядок неизвестен? т.е. сначала var s := 10*'1'+3*'2'; а как записать условие любого расположения этих цифр? Заранее спасибо за ответ :)
Ответы (2 шт):
Как вариант:
import random
s ='1'*10 + '2'*3
res = ''.join(random.sample(s, len(s)))
Ещё можно посмотреть на функцию random.shuffle().
Это же надо простейшее условие задачи изложить так сложно. УСЛОВИЕ чего вы хотите ПРОВЕРИТЬ?
Исходная строка содержит десять единиц и три двойки, других цифр нет, -- ок, если это условие, и надо проверить, соответствует ли ИСХОДНАЯ строка этому условию, тогда зачем ваша проверка на количество вхождений?
А вот если это надо проверить, то:
st1='1112111211121'
if st1.count('1')==10 and st1.count('2')==3 :
print ('Условию соответствует')
else:
print ('Условию НЕ соответствует')
Если надо проверить, что других символов в строке нет, то:
if set(st1)=={'2','1'}:
print ('Совпали по составу')
else:
print ('Не совпали по составу')
Ну а дальше - комбинируйте эти условия как вам надо.
Что вы хотели сказать этим оператором
var s := 10*'1'+3*'2'
и вообще, на каком языке он написан(на pascal что-ли?) - остается неразгаданной тайной.