私はこのプログラムを作ろうとしており、今はとても近いですが、私は仕上げのタッチをすることはできません。私は問題がモジュロの使用法にあるので、私の問題をたどった。私は5倍のeを得ようとしていますが、私がそれをするとき、私のリストの3番目の要素については-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 =フロート(e)を使用することができない場合。なぜ「e // = 5」でないのですか?浮動小数点を正しくしたくありません(注:結果は変わりませんが、まだ変わりません) –
'for e in k'?それはあなたが「e」を設定することになっている方法ではありません。 – user2357112
ループでは、 'k'から' e'に値を割り当てますが、前の 'e'を計算に使う必要があります。 – furas