1. 程式人生 > >嵩天老師的零基礎Python筆記:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的30-34講

嵩天老師的零基礎Python筆記:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的30-34講

positive 浮點型 was format 零基礎 判斷 筆記 提示 返回值

#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講