程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python|語言元素、分支結構和循環結構

編輯:Python
Author:AXYZdong自動化專業 工科男有一點思考,有一點想法,有一點理性!定個小小目標,努力成為習慣!在最美的年華遇見更好的自己!更多精彩文章前往: 個人主頁

語言元素

指令和程序
計算機的硬件系統通常由五大部分構成:運算器、控制器、存儲器、輸入設備和輸出設備。
運算器和控制器的結合:中央處理器。執行各種運算和控制指令以及處理計算機軟件中的數據。
指令的結合:程序。
常用數據類型
  • 整形:python中可以處理任意大小的整數(python 3中只有 int 這一種)
  • 浮點型:浮點數也就是小數
  • 字符串型:以單引號或雙引號括起來的任意文本。'hello' 和 "hello"
  • 布爾型:只有 True 和 False 兩種

變量命名
  • 變量名由字母、數字和下劃線構成,數字不能開頭
  • 大小寫敏感(大小寫表示不同的變量)
  • 不要和關鍵詞和系統保留字沖突

變量的使用
python中可以使用 type 函數對變量的類別進行檢查。
a=100

print(type(a)) # <class 'int'>

可以使用python中內置的函數對變量類型進行轉換。
  • int():將一個【數值或字符串】轉換成【整數】
  • float():將一個【字符串】 轉換成【浮點數】
  • str():將【指定的對象】轉換成【字符串】
  • chr():將【整數】轉換成【該編碼對應的字符串(一個字符)】
  • ord():將【字符串(一個字符)】轉換成【對應的編碼(整數)】

chr() 和 ord() 互為逆操作。
a=1
b=2
print('%d + %d = %d' % (a,b,a+b)) #1 + 2 = 3

%d 為整數占位符,%f 為小數占位符,字符串之後的 % 後面跟著的變量值會替換掉占位符然後輸出到終端。
運算符
  • 算數運算符:**%///*-+
  • 賦值運算符:= += -= *= /= //=
  • 比較運算符:> < >= <= == !=
  • 邏輯運算符:and or not
  • 位運算符:& | ~ ^ >> <<

運算符優先級 :單目運算符(~ + -)> 算術運算符 > 位運算符 > 比較運算符。有小括號的,小括號優先。

分支結構

一條語句一條語句順序執行:順序結構
分支結構 (選擇結構)
python中構造分支結構的關鍵字:if 、else 、elif
'''
判斷輸入的邊長能否構成三角形,如果能則計算三角形的周長和面積
Author:AXYZdong 
'''
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a+b > c and a +c > b and b+c >a :
 print('周長 = %f' % (a+b+c))
 p = (a+b+c)/2
 area = (p*(p-a)*(p-b)*(p-c))**0.5
 print('面積 = %f' % (area))
else:
 print('不能構成三角形')

循環結構

for-in 循環
明確知道 循環執行的次數 或者 要對一個容器進行迭代 ,推薦使用 for-in 循環。
例:計算1~100求和的結果


'''
1~100求和
Author:AXYZdong 
'''
sum = 0
for x in range(101): # for x in range(1,101):
 sum = sum + x
print(sum)

  • range(101):產生0~100范圍內的整數,取不到101。
  • range(1,101):產生1~100范圍內的整數,相當於 [1,101)
  • range(1,101,2):產生1~100范圍內的奇數,其中2是步長,每次遞增
  • range(100,0,-2):產生100~1范圍內的偶數,其中-2是步長,每次遞減

1~100范圍內偶數求和?
'''
用for循環實現1~100范圍內偶數求和
Author:AXYZdong 
'''
sum = 0
for x in range(2,101,2): # for x in range(100,0,-2):
 sum = sum + x
print(sum)

range(2,101,2):從2開始以每次2的步長遞增,產生2~100的范圍(均為偶數)
while 循環
 不知道具體循環次數的循環結構 ,推薦使用 while 循環。while 循環通過一個能夠產生或轉換出 bool 值的表達式來控制循環,表達式的值為 True 則繼續循環;表達式為 False 則結束循環。
'''
猜數字游戲
Author:AXYZdong 
'''
import random

ans = random.randint (1,10)
counter = 0
while True:
 counter += 1
 num = int(input('請輸入:'))
 if num > ans:
 print('大一點')
 elif num < ans:
 print('小一點')
 else:
 print('恭喜你猜對了')
 break
print('你一共猜了%d次'% (counter))
if counter > 5:
 print('你運氣太差了')

random.randint(參數1,參數2)
  • 參數1、參數2必須是整數
  • 函數返回值為參數1和參數2之間的任意數,閉區間 [參數1,參數2](python 3環境中已驗證)

例:輸入兩個正整數,計算它們的最大公約數和最小公倍數。
最大公因數:兩個數公共因子中最大的那個數最小公倍數:兩個自然數的積除以它們的最大公因數
'''
輸入兩個正整數,求它們的最大公約數和最小公倍數
Author:AXYZdong
'''
x = int(input('x = '))
y = int(input('y = '))
if x > y:
 x,y = y,x
for common in range(x,0,-1):
 if x%common == 0 and y%common == 0:
 print('%d和%d最大公約數是%d' % (x,y,common))
 print('%d和%d最小公倍數是%d' % (x,y,(x*y//common)) ) #兩個自然數的積等於這兩個數最大公因數乘以它們的最小公倍數
 break

參考文獻
[1]:https://github.com/jackfrued/Python-100-Days[2]:Python編程快速上手:讓繁瑣工作自動化/ (美)斯維加特(A1 Sweigart) 著;王海鵬譯.北京:人民郵電出版社,2016.7[3]:Python 中文指南;作者:王炳明,版本:v1.0
本次的分享就到這裡
如果我的文章對你有幫助、如果你喜歡我的文章內容,請 “點贊” “評論” “收藏” 一鍵三連哦!聽說  點贊  的人運氣不會太差,每一天都會元氣滿滿呦!^ _ ^碼字不易,大家的支持就是我堅持下去的動力。點贊後不要忘了 關注 我哦!如果以上內容有任何錯誤或者不准確的地方,歡迎在下面留個言。或者你有更好的想法,歡迎一起交流學習~~~


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved