2017-04-07 10 views
0
def main(): 
    account_value = input("Enter your account value: ") 
    AV = account_value 
    years = input("Enter how many years you want to save: ") 
    IR = input("enter the interest rate per year: ") 
    for i in range(int(years)): 
     aftervalue = int(AV) + (float(IR)*int(AV)) 
    print(aftervalue) 

なぜ私はループ内の式でそれらを変換する必要がありましたか?なぜ私は変数を変換しなければならなかったのですか?

なぜintとfloatとして扱われたのですか?

+2

Python 3では、 'input()'は文字列を返し、入力を解析しません。 – Barmar

+0

同じ変数をループ内の同じ式に割り当てるのはなぜですか?それは毎回同じことです。 – Barmar

+0

ループ内でそれらを変換せず、変数を割り当てるときに一度変換します。 '年= int(入力("年を入力: "))' – Barmar

答えて

0

Python 3では、input()は文字列を返します。算術演算で使用する場合は、最初にintまたはfloatに変換する必要があります。

ループ内で実行する必要はありません。変数を割り当てるときには一度実行することをお勧めします。

Python 2でスクリプトを実行した場合は、変換を行う必要はありません。そのinput()関数は、入力をPython式として評価します。元の入力を文字列として取得するには、raw_input()を使用する必要があります。

+0

間違って何かをやっていた実現didntは:' \t 'account_valueは=入力( "アカウントの値を入力します。")' \t 'AV = INT(account_value)' \t '年= INT(入力(「保存したいどのように多くの年を入力: ")) ' \t' IR =フロート(入力(" 年ごとの利率を入力します。 "))' \t 'iの範囲(年):' \t \t 'aftervalue = AV + (IR * AV) ' \t' print(aftervalue) ' \t \t これは今のように見え、まだ動作します。あまりにも意味があります。主なものは、私は文字列として扱われた入力を知っていなかったということでした(コメントにコードを正しく書式設定する方法もわかりません):( –

+0

コメントにコードを投稿しないで、書式はありません。 – Barmar

関連する問題