Имам затруднение със задача Next Happy Year fundamentals python!
Някой ,може ли да ми помогне мъча се ,но нищо не мога да направя видях едно решение със сетове и дължина на стринг аз още не съм ги учил тези неща и се притесних.
Някой ,може ли да ми помогне мъча се ,но нищо не мога да направя видях едно решение със сетове и дължина на стринг аз още не съм ги учил тези неща и се притесних.
Аз също бях зациклил на тази задача :). Предвид, че е в началния етап на курса би трябвало да има начин да се реши само със знанията, които имаме до момента. След няколко десетки неуспешни опита реших и аз да потърся из нета някакви насоки. Естествено взеха да излизат все решения, които за момента не разбирам (set, lists...). Между другото ето едно, което е близко до взетия до тук материал, но има един оператор in, който все още не познавам. Просто видях какво прави и реших да пробвам, а то взе че стана:
input_year = int(input()) next_year = input_year + 1 next_happy_year = "" while True: str_next_year = str(next_year) for i in range(0, len(str_next_year)): if str_next_year[i] not in next_happy_year: next_happy_year = next_happy_year + str_next_year[i] if len(next_happy_year) == len(str_next_year): break next_happy_year = "" next_year += 1 print(next_happy_year)
След това се "закучих" и си казах, че трябва да има вариант само с loops или нещо, което сме взели до тук, а не да използвам непознати техники, дори те да са по-кратки и четливи. Ииии на края се увенчах с успех :)
input_year = int(input()) next_year = input_year + 1 next_happy_year = "" brake_first_loop = False while True: str_next_year = str(next_year) next_happy_year = str_next_year[0] for i in range(1, len(str_next_year)): for j in range(0, i): if str_next_year[i] == next_happy_year[j]: brake_first_loop = True break if brake_first_loop: break else: next_happy_year = next_happy_year + str_next_year[i] if len(next_happy_year) == len(str_next_year): break next_happy_year = "" brake_first_loop = False next_year += 1 print(next_happy_year)