ユーザが価格を入力し、プログラムが入力に基づいて送料を出力する小さなプログラムで作業しています。ユーザの入力に応じて適切なelse文を選択する
#Initilaize variables
lowUS = 6.00;
medUS = 9.00;
highUS = 12.00;
lowCan = 8.00;
medCan = 12.00;
highCan = 15.00;
#Greet user and ask for input
print("Welcome to Ben's shipping calculator!");
print("We will calculate your shipping cost for you!");
orderTotal = float(input("Please input your total amount."));
country = input("In which country do you reside? Please type C for Canada or U or USA. ");
#Validate input
while country not in {'u', 'c', 'C', 'U'}:
print ("Invalid input. Please try again. ")
country = input("In which country do you reside? Please type C for Canada or U or USA. ");
#Determine how much the shipping fee is
if country == 'U' or country == 'u':
if orderTotal <= 50.00:
if orderTotal > 50.00 and orderTotal <= 100.00:
if orderTotal > 100.00 and orderTotal <= 150.00:
if orderTotal > 150.00:
print("Your shipping is free and your grand total is", orderTotal)
else:
print("Your shipping fee is: ", highUS);
orderTotal = (orderTotal + highUS);
else:
print("Your shipping fee is: ", medUS);
orderTotal = (orderTotal + medUS);
else:
print("Your shipping fee is: ", lowUS);
orderTotal = (orderTotal + lowUS);
elif country == 'c' or country == 'C':
if orderTotal <= 50.00:
if orderTotal > 50.00 and orderTotal <= 100.00:
if orderTotal > 100.00 and orderTotal <= 150.00:
if orderTotal > 150.00:
print("Your shipping is free and your grand total is", orderTotal)
else:
print("Your shipping fee is: ", highCan);
orderTotal = (orderTotal + highCan);
else:
print("Your shipping fee is: ", medCan);
orderTotal = (orderTotal + medCan);
else:
print("Your shipping fee is: ", lowCan);
orderTotal = (orderTotal + lowCan);
print("Your grand total is: $", orderTotal);
私はPythonとプログラミングに非常に新しいですし、私は、これはそれで行くには良い方法であるかどうかわからないんだけど、私はそれを試してみるだろうと思ったので、私はのif-else文を学んでいます。これまでは、金額に「50」を入力した場合にのみ機能します。それは "50"のためだけに国に基づいて計算されます。誰かが助けて説明することができれば、どこが間違っているのか分かりません。
あなたの最初の 'if'は50以下の場合にのみ入力されます。次のチェックは50を超えることができない場合です - そのブロックは決して実行されません。 'else'節は実行可能な唯一のものです。 –
Pythonは改行の他に行終止符がありません。セミコロンはまったく必要ありません。これはCではありません! (またはJava、JavaScript、またはその他のもの) – MattDMo