嵩天老師的零基礎Python筆記:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的30-34講
#coding=gbk
#嵩天老師的零基礎Python筆記:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的30-34講
# 文件循環
"""
def main():
fileName = input("What file are the numbers in? ")
infile = open(fileName,‘r‘)
sum = 0
count = 0
line = infile.readline()
while line != "":
for xStr in line.split(","):
sum = sum + eval(line)
count += 1
line = infile.readline()
print("\nThe average of the numbers is ", sum / count)
main()
"""
# 後測循環實現
# Python沒有後測循環語句,但可以通過while間接實現,實現舉例:
"""
number = -1
while number < 0:
number = eval(input("Enter a positive number: "))
"""
"""
while True:
number = eval(input("Enter a positive number: "))
if x >= 0:break
"""
"""
number = -1
while number < 0:
number = eval(input("Enter a positive number: "))
if number < 0:
print("The number you entered was not positive.") #增加輸入提示
"""
"""
while True:
number = eval(input("Enter a positive number: "))
if x >= 0:
break
else:
print("The number you entered was not positive.")
"""
# 布爾表達式
# 條件語句和循環語句都使用布爾表達式作為條件;
# 布爾值為真或假,以True和False表示
#
# 布爾操作符優先級:not > and > or
#
# 布爾代數
# 布爾表達式遵循特定的代數定律,這些規律被稱為布爾邏輯或布爾代數。
# a and false == false
# a and true == a
# a or false == a
# a or true == true
# and 和 or 操作符都符合分配定律
# a or (b and c) == (a or b) and (a or c)
# a and (b or c) == (a and b) or (a and c)
# 德摩根定律,not放進表達式後,and 和 or 運算符之間發生的變化。
# not(a or b) == (not a) and (not b)
# not(a and b) == (not a) or (not b)
# 布爾表達式作為決策
# 對於數字(整形和浮點型)的零值被認為是false,任何非零值都是True
# bool類型僅僅是一個特殊的整數,可以通過表達式True + True的值來測試一下。
# 空的序列在布爾類型中是False,非空序列為True
# 布爾表達式思考
# x and y:如果x是假,輸出x,否則輸出y
# x or y :如果x為真,輸出x,否則輸出y
# not x :如果x為假,輸出True,如果x為真,輸出False #只輸出True或False
#
#
# 函數定義
# 函數名<name>:任何有效的Python標識符
# 參數列表<parameters>:調用函數時傳遞縱它的值
# 參數個數大於等於零
# 多個參數用逗號分隔
# 形式參數:定義函數時,函數名後面圓括號中的變量,簡稱形參,形參只在函數內部有效。
# 實際參數:調用函數時,函數名後面圓括號中的變量,簡稱實參
#
# 函數的返回值
# return語句:程序退出該函數,並返回到函數被調用的地方
# return語句返回的值傳遞給調用程序
# 返回值有兩種形式:
# 返回一個值
# 返回多個值
# 無返回值的return 語句等價於 return None
# None是表示沒有任何東西的特殊類型。
# 返回值可以是一個變量,也可以是一個表達式。
"""
def sumDiff(x,y):
sum = x + y
diff = x - y
return sum,diff #return可以有多個返回值
s,d = sumDiff(1,2)
print("The sum is ",s,"and the diff is ",d)
"""
#判斷是否是三角形的函數
import math
def square(x):
return x * x
def distance(x1,y1,x2,y2):
dist = math.sqrt(square(x1-x2) + square(y1-y2))
return dist
def isTriangle(x1,y1,x2,y2,x3,y3):
flag = ((x1-x2)*(y3-y2)-(x3-x2)*(y1-y2)) != 0
return flag
def main():
print("請依次輸入三個點的坐標(x,y)")
x1, y1 = eval(input("坐標點1:(x,y)= "))
x2, y2 = eval(input("坐標點2:(x,y)= "))
x3, y3 = eval(input("坐標點3:(x,y)= "))
if (isTriangle(x1, y1, x2, y2, x3, y3)):
perim = distance(x1, y1, x2, y2)+distance(x2, y2, x3, y3)+distance(x1, y1, x3, y3)
print("三角形的周長是:{0:0.2f}".format(perim))
else:
print("輸入坐標不能構成三角形。")
main()
嵩天老師的零基礎Python筆記:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的30-34講