根据特定要求编辑字符串 split.upper/.lower

string editing on specific request split.upper/.lower

我想弄清楚如何编辑下面的内容以选择转换 lower/upper(abc = ABC) 我想要一个它知道要转换为另一个的特定输入.所以输入可能是“convert_upper”程序现在知道我想将下一个输入“abc”转换为“'A'、'B'、'C'”

我已经通过论坛在这项工作中取得了相当大的进展,但弄清楚如何让 input1 接受“特殊请求”并根据该输入执行 upper/lower 让我陷入循环 我也很好奇如何创建列表。 (第二个输入确认列表的名称,例如...)

例子in/output^

input1 = numbers
 numbers = [] 
input2 = 123
numbers = ['1', '2', '3']

当前代码采用“abc 123 !@#”等输入并输出列表 ['a'、'b'、'c'、' '、'1'、'2 ', '3', ' ', '!', '@', '#']

def split(word):
    return list(input1)
input1 = input("enter Letters, Numbers or Symbols: ")
print(split(input1))

这是一种方法:拥有一个应用于输入的函数,并检查“特殊请求”以更改它:

special_requests = {
    "convert_upper": str.upper,
    "convert_lower": str.lower,
    "vanilla": str
}
func = str

while True:
    i = input("? ")
    if i in special_requests:
        func = special_requests[i]
    else:
        print(func(i))
? abc123
abc123
? convert_upper
? abc123
ABC123

我不确定我是否理解对了,但是有一个特定的方法可以将字符串转换为大写字母,其工作方式类似于

my_upper_string = 'my_string'.upper()
print(my_upper_string) 

例如:

print('abc'.upper())

将打印 'ABC'.

此外,请考虑不要 re-defining built-in python 函数。 split() 已与字符串一起存在。我建议使用其他名称以避免出现奇怪的行为。