Python 我是否应该在这里使用for语句?
我有一个问题,我想得到你们的专家答案,因为我想在编程方面做得更好Python 我是否应该在这里使用for语句?,python,Python,我有一个问题,我想得到你们的专家答案,因为我想在编程方面做得更好 """ The parameter s_str is a string. The parameter n is an int > 0. The function x() should return the last n characters of s_str if s_str has a length >= n, or the empty string if s_str has a length < n Exa
"""
The parameter s_str is a string. The parameter n is an int > 0.
The function x() should return the last n characters of s_str if
s_str has a length >= n, or the empty string if s_str has a length < n
Example:
x('abcdef', 3) == 'def'
"""
“”“
参数s_str是一个字符串。参数n是一个int>0。
函数x()应该返回s_str的最后n个字符,如果
s_str的长度大于等于n,如果s_str的长度小于n,则为空字符串
例子:
x('abcdef',3)='def'
"""
因此,无论是否使用for语句,我都可以构建精确的代码,它会给我(打印)相同的值,但我不知道更常见的方法是什么。如果我想要一个for语句,我会这样做:
for i in s_str:
if len(s_str) >= n:
return a_str[-n:]
elif len(s_str) < n:
return ''
s_str中的i的:
如果len(s_str)>=n:
返回一个_str[-n:]
elif len(s_str)
在这种情况下,如果事先知道不打算使用i
,那么使用for语句的想法是否错误?我可以很容易地删除语句的,并且仍然得到正确的答案,那么这就足够不使用它的理由了吗?“那么这就足够不使用它的理由了吗?”
对。简单比复杂好。实际上不需要for循环
if len(a_str) >= n:
return a_str[-n:]
它也更好、更简单。在某些情况下,for循环是合理的,即使您不打算使用循环索引(例如,当您想要执行某个任务n次时)。话虽如此,这个问题可以用一种更优雅的方式来解决,正如您所展示的
另外请注意,您的代码在字符串len(str)
上迭代了几次,但它在第一次迭代中返回,因此本例中的for循环是多余的。不,这与while或for无关:不使用它们是一种不好的做法吗?或者只使用if?的错误做法?这里没有理由对
循环使用<当您想查看列表中的所有项目时,code>for
循环用于迭代某个项目。编写不起作用的代码是“糟糕的做法”。哦,我没有完全看到代码,甚至不需要在这里循环。谢谢@PatrickHaugh!非常感谢你的帮助。所以,你的意思是我不需要使用它,因为少就是多。因此,只使用if语句,而不使用while或for?正确。您应该积极尝试使您的代码尽可能简单易读。拥有“额外”代码通常是不受欢迎的。谢谢,谢谢!是的,我现在明白了。不要编写您不需要使用的代码,即使在那里有一个if语句似乎“很奇怪”。谢谢,阿维夫。