018.冗余编译器:给定一个字符串,请编写一个函数,检测其中的字符,如果只出现1次则编译成左括号,如果出现多次则编译成右括号。忽略字母的大小写。
题目来源:codcwars
# @-*- coding: utf-8 -*-
# @File: python每日一练1022.py
# @Time: 2021/10/22 13:49
# @Author: 师玉幺叔
# @Software: Pycharm
"""
给定一个字符串,请编写一个函数,检测其中的字符,如果只出现1次则编译成"(",如果出现多次则编译成")"。忽略字母的大小写。
示例
输入:" din",输出:" ((("
输入:“Success”:,输出:" )())())"
题目难度:中等
"""
def duplicate_encode(word: str) -> str:
word = word.lower()
tmp_list = [')' if word.count(item) > 1 else '(' for item in word]
return ''.join(tmp_list)
if __name__ == '__main__':
assert duplicate_encode("din") == "((("
assert duplicate_encode("Success") == ")())())"
assert duplicate_encode("(( @") == "))(("