그래서이 프로그램을 만들려고 노력 중이며 지금은 아주 가깝지만 마무리 할 수는 없습니다. 문제는 모듈러스의 사용법에 있기 때문에 문제를 추적했습니다. 나는 5 배의 전자를 얻으려고 노력하고 있지만, 그렇게 할 때, 내 목록에서 세 번째 요소에 -2를 얻는다. 이것은 내가 기대하는 것이 아니다.Python에서 x fold가 있는지 확인하는 방법은 무엇입니까?
아마도 모듈러스로 음수를 나누려고하기 때문에 발생하지만, 어떻게해야할지 모르겠으므로 문제를 해결할 수 없습니다. 누군가 날 도와 줄 수 있니, 제발?
[1, -3, -7, -11, -15, -3, -7, -11, -15, -3]
을하지만
[1, -3, -2, -1, 0, 1.0, 2, 3, 4, 5, 2.0]
도움을 주시면 감사하겠습니다 얻을 :
def f10(start, n):
"""
The parameters start and n are both int's. Furthermore n > 0.
The function f10() should return a list of int's that contains n
elements.
The first element (e) in the resulting list has to be start.
The successor of an element e is calculated as follows:
- if e is a fivefold (e.g. n is divisible by 5),
then the next value of e is e/5
- if e is not a fivefold, then the next value of e is e - 4
Example:
f10(1, 10) should return
[1, -3, -7, -11, -15, -3, -7, -11, -15, -3]
f10(9, 12) should return
[9, 5, 1, -3, -7, -11, -15, -3, -7, -11, -15, -3]
"""
pass
new_list = []
k = range(start, n+1)
e = k[0]
new_list.append(e)
for e in k:
if e % 5 == 0:
e = float(e)/5
else:
e -= 4
new_list.append(e)
return new_list
print f10(1, 10)
print f10(9, 12)
그래서 나는 얻어야한다.
'E = 플로트 (예)를 사용할 수 있습니다/5' 나는 그렇게하지 않을 것입니다. 왜 'e // = 5'가 아닌가? 수레가 옳지 않길 바래 (참고 : 결과는 바뀌지 않지만 여전히 변함) –
'for e in k'? 그건 네가 'e'를 정하는 방식이 아니야. – user2357112
루프에서'k'의 값을'e'로 지정하지만 이전의'e'를 계산에 사용해야합니다. – furas