私は、いくつかのカップを引数にとり、その数のカップでビルドできるスタックの最大高さを返す関数( 'def stackHeights')を記述する必要があります。たとえば、7つのカップがある場合は、高さ3のスタックを構築できますが、最下行に1つのカップしか持たず、4が必要なので、高さ4のスタックには足りません。Python - スタッキングカップ?
「ヒント:しばらく使用して、上から下に構築
出力:
>>> stackHeight (7)
3
>>> stackHeight (3)
2
>>> stackHeight (12)
4
これは私が今持っているものです。
def stackHeight(nCups):
nCups = int(input())
cups = {}
for i in range(nCups):
line = input().split()
if line[0].isnumeric():
cups[int(line[0])/2] = line[1]
else:
cups[int(line[1])] = line[0]
print("\n".join([cups[k] for k in sorted(cups.keys())]))
私が間違って何をやっているコードは「doesnの? tはfを実行するようです何らかの理由で。私はまだかなりプログラミングに新しいので、クラスタを残念に留意してください。
プログラムは 'input()'に達するたびに停止し、入力を待っています。関数内で 'input()'を呼び出すべきではありません。 –
関数に2つの 'input'ステートメントがあります。最初の引数は入力引数を上書きするためのもので、無意味で重複しています。ループの中に別のものがある。私は、あなたの関数の記述にテキスト入力が必要なものは何も見ていないので、なぜそれがありますか? –