私はpython3を使ってプログラムを書いています。私は仕事のために使うレポートを簡素化します。それは構造的に健全でエレガントなものではないと思っています。実際には、私はそれを "働いている"ところまで導きました。関数は順番に呼び出されませんか?
メソッド自体は正常に動作しますが、入力すると順番に呼び出されることはありません。私は誰かが何かショーに関連して何かを尋ねることを知っているので、ここでコード全体を投稿します。再び、私は仕事のためにこれを本当にすばやく書きました。それは専門家によって作られたものではないと考えられています。
私の質問は、なぜ私のメソッドが呼び出されないかです。私は辞書の値が入力によって記入され、次にがそれがprecentagesを計算することになっているように、このようにします。しかし、何が起こるかは、パーセンテージの計算方法が間違っているということです。ゼロ誤差で除算することになります(技術的に必要な情報がまだ入力されていないため、
enter_waste(), enter_weight(), calculate_waste_percentage()
それはenter_waste()
を呼び出したが、代わりにenter_weight()
を実行しているのcalculate_waste_percentage
にジャンプします:私はこのような順序でそれらを呼び出すしかし
def enter_waste():
while True:
machine_selection = str(input('Please enter which machine you would like to enter the waste for: '))
for element in machine_list:
if machine_selection == element['name']:
print('You Have Selected: {}'.format(element['name']))
waste_input = int(input('Please enter the waste for this period: '))
element['waste'].append(waste_input)
if str(input('Do you want to continue? yes/no: ')) == 'no':
print("\nHere's everything as entered: \n")
for i, machine in enumerate(machine_list):
print(i, machine)
return False
def enter_weight():
machine_selection = str('Please enter which machine you would like to enter the produced weight for: ')
for element in machine_list:
if machine_selection == element['name']:
print('You have selected: {}'.format(element['name']))
weight_input = int(input('Please enter weight produced for this period: '))
element['weight'] = weight_input
if str(input('Do you want to continue? yes/no: ')) == 'no':
print("\nHere's everything as entered: \n")
for i, machine in enumerate(machine_list):
print(i, machine)
return False
def calculate_waste_percentage():
for element in machine_list:
percentage = (sum(element['waste'])/element['weight']) * 100
element['percentwaste'] = percentage
print('Machine: {}\nWeight Produced: {;,}\n% of Waste: {}%'.format(element['name'], element['weight'], percentage))
return percentage
、。これを修正する方法はありますか?あなたのinput_weight()
機能でinput
呼び出し欠けている
あなたが言及したように振る舞うべきではないかと疑問に思う –
カンマ区切りではなく、一度に1つずつ呼び出すのはいかがですか? – brthornbury
これはすべてコードですか?私はそれを実行しようとすると、エラーが定義されていません。 –