第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

內(nèi)部檢查系統(tǒng)錯(cuò)誤 - 傳遞命令行參數(shù)

內(nèi)部檢查系統(tǒng)錯(cuò)誤 - 傳遞命令行參數(shù)

一只萌萌小番薯 2023-06-27 17:25:52
您好,我正在 HyperSkill 的信用計(jì)算器項(xiàng)目工作,在檢查信用計(jì)算器最后階段的代碼結(jié)果時(shí),當(dāng)我嘗試檢查它時(shí),我收到“內(nèi)部系統(tǒng)檢查錯(cuò)誤”。該代碼正在我的 IDE(pycharm) 上運(yùn)行,但不知何故出現(xiàn)“內(nèi)部系統(tǒng)檢查錯(cuò)誤”。您能幫忙解決一下嗎?項(xiàng)目描述:本階段需要實(shí)現(xiàn)以下功能:計(jì)算差異化支付。為此,用戶可以運(yùn)行指定利息、周期數(shù)和信用本金的程序。能夠計(jì)算與前一階段相同的年金支付值(本金、期數(shù)和支付金額)。用戶使用命令行參數(shù)指定所有已知參數(shù),因此將會(huì)有一個(gè)未知參數(shù)。這是用戶想要計(jì)算的值。處理無(wú)效參數(shù)。如果參數(shù)無(wú)效,最好顯示錯(cuò)誤消息“參數(shù)不正確”。程序的最終版本應(yīng)該可以從命令行運(yùn)行并解析以下參數(shù):--type,表示支付類型:“annuity”或“diff”(有區(qū)別的)。如果 --type 既沒(méi)有指定為“annuity”也沒(méi)有指定為“diff”,或者根本沒(méi)有指定,則顯示錯(cuò)誤消息。python Creditcalc.py --principal=1000000 --periods=60 --interest=10 參數(shù)錯(cuò)誤--付款,指每月付款。對(duì)于--type=diff,每月的付款額不同,因此我們無(wú)法計(jì)算期數(shù)或本金,因此它與-- payment 的組合也是無(wú)效的:python Creditcalc.py --type=diff --principal=1000000 --interest=10 -- payment=100000 參數(shù)錯(cuò)誤--principal 用于計(jì)算兩種類型的付款。您可以通過(guò)了解利息、年金付款和期數(shù)來(lái)獲得其價(jià)值。--periods 參數(shù)表示償還信用所需的月數(shù)和/或年數(shù)。它是根據(jù)利息、年金支付和本金計(jì)算的。--利息指定時(shí)不帶百分號(hào)。請(qǐng)注意,它可以接受浮點(diǎn)值。我們的信用計(jì)算器無(wú)法計(jì)算利息,因此這些參數(shù)不正確:python Creditcalc.py --type=annuity --principal=100000 -- payment=10400 --periods=8 參數(shù)錯(cuò)誤我的代碼:# Stage 4/4 of the credit calculator projectimport sysimport mathargs = sys.argvif len(sys.argv) == 5:    type1 = sys.argv[1].split('=')[1]    credit_principal = int(sys.argv[2].split('=')[1])    periods = int(sys.argv[3].split('=')[1])    credit_interest = float(sys.argv[4].split('=')[1])    nominal_interest = credit_interest / (12 * 100)    if type1 == 'diff' or type1 == 'annuity' and credit_principal > 0 \            and credit_interest > 0 and periods > 0:        if type1 == "diff":            sum_diff_payments = 0            for i in range(1, periods + 1):                montly_diff_payment = math.ceil(credit_principal / periods + nominal_interest * (                        credit_principal - credit_principal * (i - 1) / periods))                sum_diff_payments += montly_diff_payment                print(f"Month {i}: payment is {montly_diff_payment}")            print("\nOverpayment =", int(sum_diff_payments - credit_principal))
查看完整描述

2 回答

?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊

我合理的解釋是,它的發(fā)生是由于無(wú)限循環(huán),很可能是等待解析系統(tǒng)參數(shù)向量時(shí)出現(xiàn)錯(cuò)誤。這里也提到了同樣的問(wèn)題(信用計(jì)算器階段 4 - 內(nèi)部系統(tǒng)檢查錯(cuò)誤),但沒(méi)有提出解決方案。

不要通過(guò)命令行解析輸入,而是嘗試使用argparse等模塊并預(yù)設(shè)輸入的值。

這是一個(gè)脫離上下文的示例,展示了如何使用它

import argparse

? ??

# check command line options

parser = argparse.ArgumentParser()


parser.add_argument("--type", dest="type_of_payment", type=str, choices=["diff", "annuity"], required=True, help="Add some help text here")

parser.add_argument("--periods", dest="period_count", type=int, required=True)

parser.add_argument("--payment", dest="monthly_payment", type=float, required=True)

parser.add_argument("--interest", dest="credit_interest", type=float, required=True)

parser.add_argument("--principal", dest="credit_principal", type=float, required=True)


args = parser.parse_args()


# show the values

print(f"Type of payment: {args.type_of_payment}")

print(f"Periods: {args.period_count}")

print(f"Payment: {args.monthly_payment}")

print(f"Interest: {args.credit_interest}")

print(f"Principal: {args.credit_principal}")


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

終于我找到問(wèn)題所在和解決辦法了!如 HyperSkill 項(xiàng)目示例所示 - 正確的參數(shù)可以是五個(gè),并且它們可以是不同的元素。例子:


> python creditcalc.py --type=annuity --principal=1000000 --periods=60 --interest=10


> python creditcalc.py --type=annuity --payment=8722 --periods=120 --interest=5.6

是正確的輸入,注意元素的差異。第一個(gè)中沒(méi)有付款參數(shù),第二個(gè)中有主要參數(shù)。因此,根據(jù)輸入?yún)?shù)的類型,其順序?qū)⒉煌L(zhǎng)度相同。


首先,需要使用 argparser 聲明所有參數(shù)并設(shè)置 required=False


parser = argparse.ArgumentParser()

parser.add_argument("--type", type=str, choices=["diff", "annuity"], required=False)

parser.add_argument("--principal", type=float, required=False)

parser.add_argument("--periods", type=int, required=False)

parser.add_argument("--payment", type=float, required=False)

parser.add_argument("--interest", type=float, required=False)

讀取變量的參數(shù):


args, leftovers = parser.parse_known_args()

然后找出傳遞了哪些參數(shù) - 要么你需要計(jì)算


> python creditcalc.py --type=annuity --payment=8722 --periods=120 --interest=5.6

或者


> python creditcalc.py --type=diff --principal=1000000 --payment=104000

或者


> python creditcalc.py --type=annuity --principal=500000 --payment=23000 --interest=7.8

您可以使用簡(jiǎn)單的 if 語(yǔ)句來(lái)檢查它,如下所示:


if args.type is not None and args.principal is not None and args.periods is not None and args.interest is not None:

pass

elif args.type is not None and args.payment is not None and args.periods is not None and args.interest is not None:

pass


查看完整回答
反對(duì) 回復(fù) 2023-06-27
  • 2 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)