###### tags: `程式設計` # 第二週 ## 課堂練習一 輸入 float x1, x2 求 f(x) = x^3 在 x1 ~ x2 區間內的梯形面積 area = (x2 - x1) * (x2^3 + x1^3) / 2 ```python= x1, x2 = map(float,input().split()) print((x2-x1)*(x2**3+x1**3)/2) ``` ## 課堂練習二 輸入float r, 代表圓的半徑 求面積 ```python= r = float(input()) print(r*r*3.14159) #r**2 ``` ## 課堂練習三 ```python= #已知今年是2019 # input birthYear # age = 2019 - birthYear # if age >= 18 # print adult # else # print child birthYear = int(input()) if (2019 - birthYear >= 18): print('adult') print('your age is', 2019 - birthYear) else: print('child') ``` ## 判斷閏年 (條件式練習) 1. 西元年份除以4不可整除,為平年。 2. 西元年份除以4可整除,且除以100不可整除,為閏年。 3. 西元年份除以100可整除,且除以400不可整除,為平年 4. 西元年份除以400可整除,為閏年 ```python= # 3200年在 wiki上為平年 year = int(input('請輸入年分\n')) if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0 and year % 3200 != 0): print('leap year') else : print('common year') ``` - using function ```python= def isLeap(y): return y % 400 == 0 or (y %4 ==0 and y %100 != 0) def main(): year = int(input()) if isLeap(year) : print ('leap year') else : print('common year') if __name__ == '__main__': main() ``` ## While Sample - 輸出5~20 ```python= # while sample def main(): begin, end = 5, 20 num = begin while num <= end: print(num) num = num + 1 if __name__ == '__main__': main() ``` - 印出星星(Square) ```python= # input an int n # print square of size n # eg n == 4 # **** # **** # **** # **** # how to think? # (1) How many lines? n # (2) if we give each line with id 'i', then # line 1: how many *? n # line 2: how many *? n # line i: how many *? n def main(): n = int(input()) num = 1 while num <= n: print('*' * n) num +=1 if __name__ == '__main__': main() ``` - 印出星星 (Triangle) ```python= # triangle # * # ** # *** def main(): size = int(input()) linenum = 1 while linenum <= size: print('*' * linenum) linenum +=1 if __name__ == '__main__': main() ``` - 印出星星 (Triangle)-前面增加空格 ```python= # * # ** # *** def main(): size = int(input()) linenum = 1 while linenum <= size: print(' ' * (size - linenum) + '*' * linenum) linenum +=1 if __name__ == '__main__': main() ``` - 印出星星 (Triangle)-正三角 ```python= # * # *** # ***** def main(): size = int(input()) linenum = 1 while linenum <= size: print(' ' * (size - linenum) + '*' * (2*linenum-1)) linenum +=1 if __name__ == '__main__': main() ``` ## 補充 [Python 中的 if __name__ == '__main__' 該如何理解](http://blog.konghy.cn/2017/04/24/python-entry-program/)