Python 接受字符串并返回前半部分小写和后半部分大写的def
我是python新手,需要帮助清理我的代码 我必须定义一个字符串,并返回前半部分小写和第二部分大写 这是我的代码——但我忍不住认为有更干净的方法来编写它Python 接受字符串并返回前半部分小写和后半部分大写的def,python,Python,我是python新手,需要帮助清理我的代码 我必须定义一个字符串,并返回前半部分小写和第二部分大写 这是我的代码——但我忍不住认为有更干净的方法来编写它 def sillycase(string): x = len(string)/2 y = round(x) print (string[:y].lower() + string[y:].upper()) 它看起来已经很好了,但正如前面提到的,它没有返回任何东西。这个怎么样 def sillycase(string):
def sillycase(string):
x = len(string)/2
y = round(x)
print (string[:y].lower() + string[y:].upper())
它看起来已经很好了,但正如前面提到的,它没有返回任何东西。这个怎么样
def sillycase(string):
y = round(len(string)/2)
return string[:y].lower() + string[y:].upper()
正如我在评论中提到的,您当前的方法返回
None
。如果您只是打印出值,那么实际上并不是将任何内容返回给调用者
但最终,这一问题可以得到很大的解决。如果改用格式
,则不必担心连接问题。此外,如果您处理整数除法,它总是向下取整到最接近的整数-因此调用round
没有任何好处。双斜杠/
操作符强制执行该行为,因此它在Python版本之间的工作方式相同
def sillycase(s):
half = len(s)//2
return "{}{}".format(s[:half].lower(), s[half:].upper())
循序渐进。首先,如何从函数返回值
def return_True():
return True
def return_half(x):
return x/2
第二,你如何从一根绳子中拉出碎片
In [1]: "abc"[:2]
Out[1]: "ab"
In [2]: "abc"[2:]
Out[2]: "c"
In [1]: "TeSt".upper()
Out[1]: "TEST"
In [2]: "TeSt".lower()
Out[2]: "test"
第三,如何从除法中得到整数
In [1]: 5/2
Out[1]: 2.5 # 2 in Python2, but don't rely on that
In [2]: 5//2
Out[2]: 2 # in both Python2 and Python3
第四,如何处理字符串的大小写
In [1]: "abc"[:2]
Out[1]: "ab"
In [2]: "abc"[2:]
Out[2]: "c"
In [1]: "TeSt".upper()
Out[1]: "TEST"
In [2]: "TeSt".lower()
Out[2]: "test"
最后,让我们把它们放在一起:
def sillycase(s):
mid_point = len(s) // 2
first_half = s[:midpoint]
second_half = s[midpoint:]
return first_half.lower() + second_half.upper()
嗯……首先,它返回了None
。。。