ゼロ基礎学習python第3章章テスト


第三章練習問題
1.Pythonのbreak文とcontinue文の違いは何ですか?それぞれどんな場合に使いますか?
breakはループ終了continueは今回のループを終了することを表し、次回のループを行うbreakは条件が満たされた場合にループを終了し、次のプログラムを行うループ文の中でcontinueはループ文の各caseを検証する必要がある場合に使用し、条件に合致するcaseはスキップし、後のループを実行する
2.構造化プログラミング思想を用いてバブルソートを実現する.まず、バブルソートのプロセスについて説明します.無秩序な列の数を小さいものから大きいもの、または大きいものから小さいものにソートします.次に、小さいものから大きいものへのソートの考え方を話し、大きいものから小さいものまでこのようにします.泡の順序付けは、その名の通り、順序付けが必要な数を気泡とし、n個の元素の数列は、まず最初の2つの数を比較し、小さいものを上に置いて、それから2番目の数と3番目の数を比較して、同じように小さいものを上に置いて、1回の循環が終わると、最後の数は必ず最大になります.次のサイクルは前のn-1の数を比較するだけでいい.n-1回のループでソートが完了し、気泡が1つ1つ出てくるようになります.
#     
def bubbleSort(numbers):#        
    for j in range(len(numbers) - 1, -1, -1):
        for i in range(j):
            if numbers[i] > numbers[i+1]:#            
                numbers[i], numbers[i+1] = numbers[i+1], numbers[i]
            print (numbers)

def main():#    
    numbers = [23, 12, 9, 15, 6]
    bubbleSort(numbers)

if __name__ == '__main__':
        main()

3.以下は個人所得税の納付基準である:1)収入3500元から徴収し、3500元未満の場合は個人所得税を納付しない.2)税額が1500元を超えない部分は、3%の税率で納付する.3)税額が1500元から4500元を超える部分は、10%の税率で納付する.4)税額が4500元から9000元を超える部分は、20%の税率で納付する.5)税額が9000元から35000元を超える部分は、25%の税率で納付する.6)税額が35000元から55000元を超える部分は、30%の税率で納付する.7)税額が55000元から80000元を超える部分は、35%の税率で納付する.8)税額が80000元を超える部分は、45%の税率で納付する.プログラムを作成し、収入金額を入力し、納付する個人所得税及び所得税を控除した実際の個人収入を出力します.
salary=float(input("salary:"))
tax=0
if salary <= 3500:
    tax=0
elif 3500 < salary <= 5000:
    tax=(salary - 3500)*0.03
elif 5000 < salary <= 8000:
    tax=1500*0.03+(salary - 5000)*0.1
elif 8000 < salary <= 12500:
    tax = 1500*0.03+3000*0.1+(salary-8000)*0.2
elif 12500 < salary <= 38500:
    tax = 1500*0.03+3000*0.1+4500*0.2+(salary-12500)*0.25
elif 38500 < salary <= 58500:
    tax = 1500*0.03+3000*0.1+4500*0.2+26000*0.25+(salary-35000)*0.3
elif 58500 < salary <= 83500:
    tax = 1500*0.03+3000*0.1+4500*0.2+26000*0.25+20000*0.3+(salary-55000)*0.35
else:
    tax = 1500*0.03+3000*0.1+4500*0.2+26000*0.25+20000*0.3+25000*0.35+(salary-83500)*0.45
income=salary-tax
print("           :",tax,";              :",income)

方法は不器用ですが、分かりやすく、if文で書かれているので、一目瞭然です.