close

101_整數格式化輸出

題目說明:

請撰寫一程式,輸入四個整數,然後將這四個整數以欄寬為5、欄與欄間隔一個空白字元,再以每列印兩個的方式,先列印向右靠齊,再列印向左靠齊,左右皆以直線 |(Vertical bar)作為邊界。

範例輸入1

85
4
299
478

範例輸出1

|   85     4|
|  299   478|
|85    4    |
|299   478  |

觀察解釋:

這部分是格式化輸出處理,下面附上格式化輸出的重點以供日後複習,這題說要先提供輸入,所以首先必須使用到input()這個方法,取得輸入的字串,但注意這邊取得的是字串不是數字型態(int或float),所以可以在input()外面再包上eval()或是int(),把取得的字串轉型為int型態,把四個變數都取得後,就是要輸出部分,就如同下面表格所示,題目說有一個浮點數佔5欄,所以格式化寫成5d即可,5d表示是整數且占有5個位數,接著就是向右還是向左對齊,python默認都是向右靠齊,如果要向左靠齊就在前面加上 < 即可,中間要記得空一個哦,不然會被扣分。 

1554218546085.jpg

1554273707380.jpg

1554273728484.jpg

程式碼:

a = eval(input())
b = eval(input())
c = eval(input())
d = eval(input())
print('|{:5d} {:5d}|'.format(a,b))    #也可以print('|{:>5d} {:>5d}|'.format(a,b))
print('|{:5d} {:5d}|'.format(c,d)) 
print('|{:<5d} {:<5d}|'.format(a,b))
print('|{:<5d} {:<5d}|'.format(c,d))

102_浮點數格式化輸出

題目說明:

請撰寫一程式,輸入四個分別含有小數1到4位的浮點數,然後將這四個浮點數以欄寬為7、欄與欄間隔一個空白字元、每列印兩個的方式,先列印向右靠齊,再列印向左靠齊,左右皆以直線 |(Vertical bar)作為邊界。
提示:輸出浮點數到小數點後第二位

範例輸入1

23.12
395.3
100.4617
564.329

範例輸出1

|  23.12  395.30|
| 100.46  564.33|
|23.12   395.30 |
|100.46  564.33 |

 

觀察解釋:

其實格式化輸出是python最基礎部分,這有很多種類型的格式,下面附上重點以供日後複習,這題說要先提供輸入,所以首先必須使用到input()這個方法,取得輸入的字串,但注意這邊取得的是字串不是數字型態(int或float),所以可以在input()外面再包上eval()或是float(),把取得的字串轉型為float型態,把四個變數都取得後,就是要輸出部分,就如同下面表格所示,題目說有一個浮點數佔7欄,並且浮點數到小數點第二位,很明顯就是要在格式化字串打入7.2f,接著就是向右還是向左對齊,python默認都是向右靠齊,如果要向左靠齊就在前面加上 < 即可,中間要記得空一個哦,不然會被扣分。

 

1554218546085.jpg

程式碼:

a = eval(input())     #float(input())也可以
b = eval(input())
c = eval(input())
d = eval(input())
print('|{:7.2f} {:7.2f}|'.format(a,b))
print('|{:7.2f} {:7.2f}|'.format(c,d))
print('|{:<7.2f} {:<7.2f}|'.format(a,b))
print('|{:<7.2f} {:<7.2f}|'.format(c,d))

103_字串格式化輸出

題目說明:

請撰寫一程式,輸入四個單字,然後將這四個單字以欄寬為10、欄與欄間隔一個空白字元、每列印兩個的方式,先列印向右靠齊,再列印向左靠齊,左右皆以直線 |(Vertical bar)作為邊界。 

範例輸入1

I
enjoy
learning
Python

範例輸出1

|         I      enjoy|
|  learning     Python|
|I          enjoy     |
|learning   Python    |

觀察解釋:

這部分也是格式化輸出的觀念,但跟前面不同就是他是直接取得字串,故就不需要在input()前面加上東西(int()或是float()之類),但注意如果是字串的話,默認預設是向左靠齊不同於數值型態是靠右對齊,其他都大同小異。

程式碼:

a = input()
b = input()
c = input()
d = input()
print('|{:>10s} {:>10s}|'.format(a,b))  #也可以不寫s--> print('|{:>10} {:>10}|'.format(a,b))
print('|{:>10s} {:>10s}|'.format(c,d))
print('|{:10s} {:10s}|'.format(a,b))    #也可以print('|{:<10s} {:<10s}|'.format(a,b))
print('|{:10s} {:10s}|'.format(c,d)

104_圓形面積計算

題目說明:

請撰寫一程式,輸入一圓的半徑,並加以計算此圓之面積和周長,最後請印出此圓的半徑(Radius)、周長(Perimeter)和面積(Area)
提示:

  • ->需import math模組,並使用math.pi
  • ->輸出浮點數到小數點後第二位

範例輸入1

10

範例輸出1

Radius = 10.00
Perimeter = 62.83
Area = 314.16

範例輸入2

2.5

範例輸出2

Radius = 2.50
Perimeter = 15.71
Area = 19.63

觀察解釋:

這題一樣也是先取得input的值,然後轉為數值型態以做運算,只要注意把浮點數取到小數點第二位,圓形周長為直徑*PI,而面積為半徑*半徑*PI,其他來說都沒啥問題。

程式碼:

import math
r = eval(input())    #一樣可以r = float(input())
print('Radius = {:.2f}\nPerimeter = {:.2f}\nArea = {:.2f}'.format(r,2*r*math.pi,r*r*math.pi))

105_矩形面積計算

題目說明:

請撰寫一程式,輸入兩個正數,代表一矩形之寬和高,計算並輸出此矩形之高(Height)、寬(Width)、周長(Perimeter)及面積(Area)

提示: 輸出浮點數到小數點後第二位

範例輸入1

23.5
19

範例輸出1

Height = 23.50
Width = 19.00
Perimeter = 85.00
Area = 446.50

觀察解釋:

這題跟前面幾個差不多,一樣是基本題,注意字不要打錯通常都輕鬆完成,我是把print寫成一行,也可以把它寫成4個print也可以

程式碼:

height = eval(input())
width = eval(input())
perimeter = (height + width) * 2
area = height * width
print('Height = {:.2f}\nWidth = {:.2f}\nPerimeter = {:.2f}\nArea = {:.2f}'.format(height,width,perimeter,area)

106_公里英哩換算

題目說明:

假設一賽跑選手在x分y秒的時間跑完z公里,請撰寫一程式,輸入x、y、z數值,最後顯示此選手每小時的平均英哩速度(1英哩等於1.6公里)

提示: 輸出浮點數到小數點後第一位

範例輸入1

10
25
3

範例輸出1

Speed = 10.8

觀察解釋:

這題就是簡單的數學題目而已,題目要求每小時的平均英哩速度,所以就先把x與y加總並轉換成單位小時,接下來就把公里除以1.6變成英哩,最後再除以時間就為答案了

程式碼:

x = eval(input())
y = eval(input())
z = eval(input())
time = ( x + y/60 )/60
mile = ( z / 1.6) / time
print('Speed = {:.1f}'.format(mile))

107_數值計算

題目說明:

請撰寫一程式,讓使用者輸入五個數字,計算並輸出這五個數字之數值、總和及平均數

提示: 輸出浮點數到小數點後第1位

範例輸入1

20
40
60
80
100

範例輸出1

20 40 60 80 100
Sum = 300.0
Average = 60.0

範例輸入2

88.7
12
56
132.55
3

範例輸出2

88.7 12 56 132.55 3
Sum = 292.2
Average = 58.5

觀察解釋:

相信前面做了許多的格式化輸出,到了這題也是覺得很類似,只是多了些數學運算,但這邊要注意就是input()外面只能用eval()包住,因為範例輸入分別有整數及浮點數,最後再注意是浮點數後第一位數就號

程式碼:

a = eval(input())
b = eval(input())
c = eval(input())
d = eval(input())
e = eval(input())
total = a+b+c+d+e
print('{} {} {} {} {}'.format(a,b,c,d,e))
print('Sum = {:.1f}'.format(total))
print('Average = {:.1f}'.format(total/5))

108_座標距離計算

題目說明:

請撰寫一程式,讓使用者輸入四個數字x1、y1、x2、y2,分別代表兩個點的座標(x1, y1)、(x2, y2)。計算並輸出這兩點的座標與其歐式距離
提示:

  • ->歐式距離 = sqrt((x1 - x2)^2+(y1 - y2)^2)就是=> ((x1−x2)2+(y1−y2)2)   
  • -> 兩座標的歐式距離,輸出到小數點後第4位 

範例輸入1

2
1
5.5
8

範例輸出1

( 2 , 1 )
( 5.5 , 8 )
Distance = 7.8262

範例輸入2

2.5

範例輸出2

Radius = 2.50
Perimeter = 15.71
Area = 19.63

觀察解釋:

這題也是關於數學計算,題目有附上方程式,所以就按照那個方程式來寫即可,有幾個要注意的就是開根號和平方,可以用一般的兩個星號**來當作什麼的幾次方,而開根號則用**0.5,表示0.5次方就是開根號的意思,其實也可以import math 來達到一樣效果,math.sqrt(x)表示開根號,math.pow(x,y)表示x的y平方

程式碼1:

x1 = eval(input())
y1 = eval(input())
x2 = eval(input())
y2 = eval(input())
print("( {} , {} )".format(x1,y1))
print("( {} , {} )".format(x2,y2))
print("Distance = {:.4f}".format(((x1-x2)**2+(y1-y2)**2)**0.5))

程式碼2:

import math
x1 = eval(input())
y1 = eval(input())
x2 = eval(input())
y2 = eval(input())
distance = math.sqrt(math.pow(x1 -x2,2)+math.pow(y1 -y2,2))
print('( {} , {} )'.format(x1,y1))
print('( {} , {} )'.format(x2,y2))
print('Distance = {:.4f}'.format(distance))

109_正五邊形面積計算

題目說明:

請撰寫一程式,讓使用者輸入一個正數s,代表正五邊形之邊長,計算並輸出此正五邊形之面積(Area)
提示:

  • -> 建議使用import math模組的math.pow及math.tan
  • -> 正五邊形面積的公式:Area=(5∗s2)/(4∗tan(pi/5))
  • -> 輸出浮點數到小數點後第四位

範例輸入1

5

範例輸出1

Area = 43.0119

觀察解釋:

這題依舊也是先取得input的值,然後轉為數值型態以做運算,只要注意把浮點數取到小數點第四位,還有要注意math.pow()是取平方,math.tan是回傳數值的正切,math.pi則是回傳PI值,都是公式會使用的的方法。

程式碼:

import math
a = eval(input())
area = (5*math.pow(a,2))/(4*math.tan(math.pi/5))
print('Area = {:.4f}'.format(area))

110_正n邊形面積計算

題目說明:

請撰寫一程式,輸入一圓的半徑,並加以計算此圓之面積和周長,最後請印出此圓的半徑(Radius)、周長(Perimeter)和面積(Area)
提示:

  • -> 建議使用import math模組的math.pow及math.tan
  • -> 正五邊形面積的公式:Area=(n∗s2)/(4∗tan(pi/5))
  • -> 輸出浮點數到小數點後第四位

範例輸入1

8
6

範例輸出1

Area = 173.8234

觀察解釋:

這題依舊也是先取得input的值,然後轉為數值型態以做運算,只要注意把浮點數取到小數點第四位,公式的括號要注意一下,其他就利用math.pow、math.tan、math.pi來幫我們完成即可,如下程式碼

程式碼:

import math
n = eval(input())
s = eval(input())
area = (n*math.pow(s,2))/(4*math.tan(math.pi/n))
print('Area = {:.4f}'.format(area))
arrow
arrow
    文章標籤
    python TQC+
    全站熱搜

    KV 發表在 痞客邦 留言(1) 人氣()