gpt4 book ai didi

Python。我很好奇我解决这个编程问题的方法是否奇怪?另外,有更多经验的人可能是一个合适的解决方案

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:14 25 4
gpt4 key购买 nike

我正在做一个 google python 练习,我想出了一个有效的解决方案。我觉得这个练习非常有趣。我只是想知道我的解决方案是否奇怪,有经验的人是否可以通过更正常的方式解决同样的问题?我只是想改进我的编码。我都是自学的,所以只是在寻找反馈。谢谢!

# F. front_back
# Consider dividing a string into two halves.
# If the length is even, the front and back halves are the same length.
# If the length is odd, we'll say that the extra char goes in the front half.
# e.g. 'abcde', the front half is 'abc', the back half 'de'.
# Given 2 strings, a and b, return a string of the form
# a-front + b-front + a-back + b-back
def front_back(a, b):
# +++your code here+++
lengthABack = len(a)/2
lengthAFront = len(a)/2 + len(a)%2
lengthBBack = len(b)/2
lengthBFront = len(b)/2 + len(b)%2
return a[:lengthAFront]+b[:lengthBFront]+a[-lengthABack:]+b[-lengthBBack:]

最佳答案

一个稍微短一些并且可能更像 Pythonic 的解决方案:

def front_back(a, b):
a_split = (len(a) + 1) // 2
b_split = (len(b) + 1) // 2
return a[:a_split] + b[:b_split] + a[a_split:] + b[b_split:]

我们在这里使用 (len(a) + 1)//2 因为它在数学上给出的结果与 len(a)/2 + len(a)%2 但仅涉及 len(a) 的一次评估。

关于Python。我很好奇我解决这个编程问题的方法是否奇怪?另外,有更多经验的人可能是一个合适的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59043711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com