[解決済み] 私のコードに「無効なエントリ」と言うことができず、常にintでエラーになります。
2022-02-07 22:57:43
質問
それで、これは私の課題で苦労していることなのですが...。
無効な入力を考慮する必要があります。ドライバーは16歳以上105歳以下でなければなりません。交通違反の回数は0回以下であってはならない。いずれの場合も「無効な入力」というメッセージのみを表示せよ"
年齢の部分はうまくいくのですが、違反の数がどうしてもうまくいきません...どなたかお手伝いいただけないでしょうか?
基本的に私が必要とするものは、私は必要です。
def Invalid_Entry():
if Violation == float or Violation == str and Violation == int:
print("Invalid Entry")
が動作しない...これが私の問題です。残りのコードは、必要なものについては正確に動作します。しかし、ユーザーが違反の回数を入力するとき、整数と数値項目のみで、"terms"は入力できないようにする必要があります(意味がわかるでしょうか?
Name = input("What is the customers name? ")
Age = int(input("What is the age of the customer? "))
Violations = int(input("How many violations does the customer have? "))
def main():
Violation = Number_Violations(Violations)
Price = Premium()
Invalid = Invalid_Entry()
if Age < 16 or Age >= 106:
print("Invalid Entry")
else:
print(Name, "as a ", Violation, "risk driver, your insurance will cost
", Price)
def Number_Violations(Violations):
if Violations >= 4:
return "High"
elif Violations == 0:
return "None"
elif Violations == 1:
return "Low"
elif Violations == 2 or 3:
return "Moderate"
else:
Violations != 0
return "invalid Entry"
return Violations
def Premium():
if Violations >= 4 and Age >= 25:
return "$410.00"
elif Violations >= 4 and Age < 25:
return "480.00"
elif Violations == 3 and Age >= 25:
return "390.00"
elif Violations == 3 and Age < 25:
return "450.00"
elif Violations == 2 and Age >= 25:
return "365.00"
elif Violations == 2 and Age < 25:
return "405.00"
elif Violations == 1 and Age >= 25:
return "315.00"
elif Violations == 1 and Age < 25:
return "$380.00"
elif Violations == 0 and Age >= 25:
return "275.00"
else:
return "$325"
def Invalid_Entry():
if Violation == float or Violation == str and Violation == int:
print("Invalid Entry")
main()
解決方法は?
プログラムの最初に年齢と交通違反の回数の両方をチェックし、条件を満たさない場合は終了するようにすればよい。
if (Age < 16 or Age >= 106 or Violations<0):
print("Invalid Entry")
exit()
その解決策としては、exit関数を実行する前にインポートする必要があります。
from sys import exit
*編集 私たちのコメントに従って、以下は動作するはずのコードです。
from sys import exit
Name = input("What is the customers name? ")
# enter age and violations number and check type and value
try:
Age = int(input("What is the age of the customer? "))
Violations = int((input("How many violations does the customer have? ")))
except ValueError:
exit('invalid entry')
if (Violations<0 or Age not in range(16,107)):
exit('invalid entry')
def main(name, age,violations):
driver_risk = Number_violations(violations)
price = Premium(violations,age)
print("{} as a {} risk driver, your insurance will cost {}".format(name, driver_risk, price))
def Number_violations(violations):
if violations == 0:
return "None"
elif violations == 1:
return "Low"
elif violations in [2,3]:
return "Moderate"
else:
return "High"
def Premium(violations,age):
if violations >= 4 and age >= 25:
return "$410.00"
elif violations >= 4 and age < 25:
return "480.00"
elif violations == 3 and age >= 25:
return "390.00"
elif violations == 3 and age < 25:
return "450.00"
elif violations == 2 and age >= 25:
return "365.00"
elif violations == 2 and age < 25:
return "405.00"
elif violations == 1 and age >= 25:
return "315.00"
elif violations == 1 and age < 25:
return "$380.00"
elif violations == 0 and age >= 25:
return "275.00"
else:
return "$325"
main(Name,Age,Violations)
関連
-
Python jiabaライブラリの使用方法について説明
-
Pythonによるjieba分割ライブラリ
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み] データ型が理解できない
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python implement mysql add delete check change サンプルコード
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python入門 openを使ったファイルの読み書きの方法
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].