Python 中用于更改大写和小写的简单代码
Simple Code in Python to change the Upper Case and Lower Case
我想使用 *args 输入名称并将字符的偶数更改为大写,将奇数字符更改为小写。例如,Myname
-> MyNaMe
我使用了以下代码进行操作。但它将所有字符输出为大写。 (如果我在 myfunc1(x) 下添加任何随机变量,那么它工作正常。)
使用 *args :
def myfunc1(*args):
result=''
for i in range(0,len(args)):
if i%2==0:
result+=args[i].upper()
else:
result+=args[i].lower()
print(result)
myfunc1('My Name') # prints "MY NAME"
使用随机变量:
def myfunc1(my_string):
result=''
for i in range(0,len(my_string)):
if i%2==0:
result+=my_string[i].upper()
else:
result+=my_string[i].lower()
print(result)
myfunc1('Myname') # prints MyNaMe
args
是参数列表。由于您要发送 1 个参数,args=('My Name',)
.
正确的代码
def myfunc1(*args):
result=''
for i in range(0,len(args[0])):
if i%2==0:
result+=args[0][i].upper()
else:
result+=args[0][i].lower()
print(result)
myfunc1('My Name')
您正在使用 *
传递 args
变量。这意味着您正在传递一个参数列表。因此,当您编写 myfunc1('My Name')
时,该函数将字符串 'My Name'
和一个空参数作为参数。因此,当您迭代 args 时,第一个 for 将处理 'My name' 而第二个 for 将处理空参数。解决方案很简单,从函数声明中删除 *
。
您可以像这样遍历您的字符串:
代码:
def myfunc1(my_string):
print(''.join([char.upper() if idx % 2 == 0 else char.lower() for idx, char in enumerate(my_string)]))
myfunc1("My Name")
输出:
> My nAmE
我想使用 *args 输入名称并将字符的偶数更改为大写,将奇数字符更改为小写。例如,Myname
-> MyNaMe
我使用了以下代码进行操作。但它将所有字符输出为大写。 (如果我在 myfunc1(x) 下添加任何随机变量,那么它工作正常。)
使用 *args :
def myfunc1(*args):
result=''
for i in range(0,len(args)):
if i%2==0:
result+=args[i].upper()
else:
result+=args[i].lower()
print(result)
myfunc1('My Name') # prints "MY NAME"
使用随机变量:
def myfunc1(my_string):
result=''
for i in range(0,len(my_string)):
if i%2==0:
result+=my_string[i].upper()
else:
result+=my_string[i].lower()
print(result)
myfunc1('Myname') # prints MyNaMe
args
是参数列表。由于您要发送 1 个参数,args=('My Name',)
.
正确的代码
def myfunc1(*args):
result=''
for i in range(0,len(args[0])):
if i%2==0:
result+=args[0][i].upper()
else:
result+=args[0][i].lower()
print(result)
myfunc1('My Name')
您正在使用 *
传递 args
变量。这意味着您正在传递一个参数列表。因此,当您编写 myfunc1('My Name')
时,该函数将字符串 'My Name'
和一个空参数作为参数。因此,当您迭代 args 时,第一个 for 将处理 'My name' 而第二个 for 将处理空参数。解决方案很简单,从函数声明中删除 *
。
您可以像这样遍历您的字符串:
代码:
def myfunc1(my_string):
print(''.join([char.upper() if idx % 2 == 0 else char.lower() for idx, char in enumerate(my_string)]))
myfunc1("My Name")
输出:
> My nAmE