請撰寫一程式,輸入四個分別含有小數1到4位的浮點數,然後將這四個浮點數以欄寬為7、每列印兩個的方式,先列印向右靠齊,再列印向左靠齊,左右皆以直線|作為邊界。提示:輸出浮點數到小數點後第二位。
第二題
這題有點煩,格式需要轉來轉去,不熟悉還真的搞很久
程式如下
val_floatA=float(input("請輸入一個浮點數 :")) val_floatB=float(input("請輸入一個浮點數 :")) val_floatC=float(input("請輸入一個浮點數 :")) val_floatD=float(input("請輸入一個浮點數 :")) val_floatA='%.2f' % val_floatA val_floatB='%.2f' % val_floatB val_floatC='%.2f' % val_floatC val_floatD='%.2f' % val_floatD val_A=str(val_floatA) val_B=str(val_floatB) val_C=str(val_floatC) val_D=str(val_floatD) print("|" , val_A.rjust(7)+val_B.rjust(7),"|") print("|" , val_C.rjust(7)+val_D.rjust(7),"|") print("|" , val_A.ljust(7)+val_B.ljust(7),"|") print("|" , val_C.ljust(7)+val_D.ljust(7),"|")
輸出結果
請輸入一個浮點數 :23.12 請輸入一個浮點數 :395.3 請輸入一個浮點數 :100.4617 請輸入一個浮點數 :564.329 | 23.12 395.30 | | 100.46 564.33 | | 23.12 395.30 | | 100.46 564.33 |
更正,第一題下列的寫法,應該比較正確,不用轉來轉去
val_floatA=float(input("請輸入一個浮點數 :")) val_floatB=float(input("請輸入一個浮點數 :")) val_floatC=float(input("請輸入一個浮點數 :")) val_floatD=float(input("請輸入一個浮點數 :")) print("|{:>7.2f}{:>7.2f}|".format(val_floatA,val_floatB)) print("|{:>7.2f}{:>7.2f}|".format(val_floatC,val_floatD)) print("|{:<7.2f}{:<7.2f}|".format(val_floatA,val_floatB)) print("|{:<7.2f}{:<7.2f}|".format(val_floatC,val_floatD))
輸出結果
請輸入一個浮點數 :23.12 請輸入一個浮點數 :395.3 請輸入一個浮點數 :100.4617 請輸入一個浮點數 :564.329 | 23.12 395.30| | 100.46 564.33| |23.12 395.30 | |100.46 564.33 |
第二題
請使用選擇敘述撰寫一程式,讓使用者輸入一個正整數,然後判斷它是3或5的倍數,若此數值同時為3與5的倍數,顯示【x is a multiple of 3 and 5.】;如此數值皆不屬於3或5的倍數,顯示【x is not a multiple of 3 or 5.】,將使用者輸入的數值代入x。
這題算簡單,就用if 來判別即可,另外多加一個判斷式
val=int(input("請輸入一個正整數 :")) if (val%3) ==0 and (val%5) ==0: print(val , "is a multiple of 3 and 5.") elif (val%5) ==0 : print(val , "is a multiple of 5.") elif (val%3) ==0 : print(val , "is a multiple of 3.") else: print("不是3 & 5 的倍數")
輸出結果
請輸入一個正整數 :15 15 is a multiple of 3 and 5. 請輸入一個正整數 :9 9 is a multiple of 3. 請輸入一個正整數 :31 不是3 & 5 的倍數
第三題
請使用迴圈敘述撰寫一程式,讓使用者輸入兩個正整數a、b(a < b),利用迴圈計算從a開始的偶數連加到b的總和。例如:輸入a=1、b=100,則輸出結果為2550(2 + 4 + ... + 100 = 2550)。
這題要小心,因為a 有可能一開始就是偶數或是奇數,必須要先判斷出來
程式如下
a,b=map(int,input("請輸入兩個正整數:").split()) sum=0 if a%2 ==0 : for x in range(a,b+1,2): sum=sum+x print (sum) else: for x in range(a+1,b+1,2): sum=sum+x print (sum)
a,b=map(int,input("請輸入兩個正整數:").split())
這行表示一次輸入兩個變數的值,用空白鍵分隔
這還少了一個判斷,就是 a , b 誰大誰小,就先定義第一個數字要比第二個數字小 (a < b )
輸出結果
請輸入兩個正整數:14 1144 327714 請輸入兩個正整數:3 11 28
沒有留言:
張貼留言