#__author: hasee#date: 2018/1/13
# 有10個人圍成一圈,順序排號。從第乙個人開始報數(從1到3報數),凡報到3的人退出圈子
# 設計乙個程式計算最後留下的是原來第幾號的那位
# 答案:4
# 讓10個人圍成一圈
l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num = 1
for i in l1:
if num != 3: #
if num > 3: # 當num超過3時,通過重新賦值變回1
num = 1
# print(num) #報數,從1到3
num = num + 1
# print(l1)
print(l1[-1])
# 假如有一輛汽車,速度是60km/h,從a地行駛到b地(距離100km),計算耗費的時間
# 分別以面向過程、物件導向兩種不同的程式設計思想設計程式
# 面向過程
# 1、確定汽車行駛的距離
d = 300
# 2、確定汽車的速度
s = 80
# 3、利用距離/速度確定耗費的時間
result = d / s
# 4、輸出計算的結果
print("%.2f" % result)
# 物件導向
# 1、分析參與的物件-汽車
# 2、分析物件的行為屬性-行駛、資料屬性-速度
# 3、抽象出類,並完成類的定義
class car:
# 類體-行為屬性、資料屬性
# 分析資料屬性通過哪種變數描述:類變數、物件變數
# 定義物件變數
def __init__(self, speed):
self.s = speed
# 描述行為屬性
def drive(self, distance):
# 通過距離/速度,反饋耗時
result = distance / self.s
print("%.2f" % result)
# 4、梳理過程,並明確過程中物件是如何參與的
c1 = car(80)
c1.drive(300)
#設計乙個程式,能夠隨機生成乙個四位的驗證碼,驗證碼中可以出現數字和字母
from random import choice
#a-z 65-90
#a-z 97-122
#print(ord('b'))
#print(chr(98))
s1=''
for i in range(97,123):
s1=s1+chr(i)
print(s1)
for j in range(65,91):
s1=s1+chr(j)
print(s1)
for x in range(0,10):
s1=s1+str(x)
print(s1)
result=''
for i in range(4):
result=result+choice(s1)
print(result)
#異常處理
#通過在**中實現異常處理,能夠在程式發生異常時,完成異常的自定義處理
#通過在**中實現異常處理,能夠在程式發生異常時,讓程式繼續向下執行
#try
#將可能會在執行期間發生異常的**,放到try結構體中
#except
#一旦try結構體中的**發生異常,可以通過except來捕獲異常
#except關鍵字後面,可以指定異常型別的名稱,代表當前except只處理這種型別的異常
#在try語句後面可以有多個except,代表同一段**發生的不同型別的異常分別處理
#多個except語句執行時,有先後順序,如果先執行的except捕獲到異常,後面的except就不再執行
#乙個except語句後面,可以指定多種異常型別名稱(逗號、括號),代表這幾種異常按照相同的方式處理
#else
#代表沒有發生異常時,要做的事情
#finally
#不論是否發生異常,都要做的事情
#raise
#主動丟擲異常,可以作為控制程式執行邏輯的一種特殊方式
print("請輸入乙個數字:")
try:
num=int(input())
if num<0:
#print("小於0")
raise valueerror
else:
#print("大於0")
raise ioerror
except valueerror:
print("小於0")
except ioerror:
print("大於0")
else:
print(num+1)
finally:
print("hello")
print("hello")
# 面向過程思想
# 以事件為中心
# 梳理事件的解決過程
# 明確過程中每一環節應該做的工作
# 明確程式在過程中是如何參與的
# 通過編寫**將程式應該做的工作實現出來,並最終得到完整的程式
# 物件導向思想
# 以物件為中心
# 先明確事件的解決過程中有哪些物件參與
# 梳理在物件參與時,有哪些行為和資料
# 通過**來描述物件
# 梳理事件的過程,並明確物件如何參與
class pen:
# 類體
# 資料屬性-變數(類變數、物件變數)
# 類變數 同類物件共有的資料
# 類變數在類體中,類的方法外定義
# 類變數在使用時,需要通過類名修飾
# 物件變數 每乙個物件特有的資料
# 物件變數在類體中,類的方法內定義(很多時候是在__init__方法中定義)
# 物件變數在使用時,需要通過物件名來修飾
num = 0
# __init__在物件被建立時,自動執行
# __init__方法更多的用於對物件做初始化處理
def __init__(self):
pen.num = pen.num + 1
self.color = 'red'
print("hello")
# 行為屬性-函式(類的方法)
def write(self):
# self.color='red'
print("hello")
p1 = pen()
p2 = pen()
print(pen.num)
print(p1.color)
print(p2.color)
# pen.write(p1)
# p1.write() #簡化,執行時被轉換成pen.write(p1)
# print(p1.color)
class student:
__num = 0 # 變數命名時,以雙下劃線開頭,即為私有變數
# 私有變數不能在類外訪問
# 資料屬性
def __init__(self, n):
self.name = n
self.__baoshu()
# 行為屬性
def __baoshu(self):
print(self.name)
s1 = student('zhangsan')
異常處理語句:try:
可能出錯
except(捕獲異常): #except後不加任何異常名稱表示所有的異常,等同於except exception:
except(valueerror,ioerror): #表示多個異常型別名稱用元組括起來,加逗號
class student: #student 第乙個要大寫,與函式分開
def __init__(self):
pass #用pass沒有任何結果,只是確保語法完整性
Record07 指標的本質是資料型別
目錄 指標是一種資料型別 指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 測試一下指標變數占用空間大小 p的含義 操作記憶體 p放在等號的左邊賦值 給記憶體賦值 p放在等號的右邊取值 從記憶體獲取值 指標變數和它指向的記憶體塊是兩個不同的概念 指標是一種資料型別,是指它指向的記憶體空間的資料型...
異常處理語句
在程式的編寫過程中會出現各種錯誤,語法錯誤在程式啟動時就會檢測出來,它是程式正常執行的前提條件。程式中還有一種錯誤發生在程式執行後,可能是由於邏輯問題,又或者是業務發生了改變,為了能讓使用者有更好的體驗,加強 的健壯性,我們需要對這些錯誤進行處理,也叫異常處理。在python中不同的異常可以用不同的...
C 語句異常處理語句
1,try.catch.finally 不會找到邏輯錯誤,try裡面放檢測 catch 捕捉到的異常,怎樣處理finally不管有沒有異常都會執行 try catch finally 3種組合 2,finally 很頑強 return後仍然會執行 3,4,excption的用法 exception是...