#DayDayUpQ1.py
dayup1 = pow(1.001,365)
daydown= pow(0.999,365)
print("向上{:.2f},向下{:.2f}".format(dayup,daydown))
#DayDayUpQ2.py
dayfactor=0.005
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("up={:.2f},down={:.2f}".format(dayup,daydown))
#DayDayUpQ3.py
dayup=1.0
dayfactor=0.01
for i in range(365):
if i%7 in [6,0]:
dayup= dayup*(1-dayfactor)
else:
dayup= dayup*(1+dayfactor)
print("工作日的力量{:.2f}".format(dayup))'''
#DayDayUpQ4.py
def dayUp(df): #def 定義函數
dayup=1
for i in range(365):
if i%7 in [6,0]:
dayup=dayup*(1-0.01)
else:
dayup=dayup*(1+df)
return dayup
dayfactor=0.01
while dayUp(dayfactor)<37.78:
dayfactor+=0.001
print("工作日的努力參數是:{:.3f}".format(dayfactor))
字符串高級用法
[m:n:k]
根據步長k來對字符串切片
[m:n]
沒m表示從0開始到n之前,沒有n
沒n表示從m開始到結尾
[::-1]逆序
轉義符\
#WeekNamePrintV1.py
weekStr="星期一星期二星期三星期四星期五星期六星期日"
weekId=eval(input("請輸入星期數字(1-7):"))
#input保存字符串 用eval去掉引號
pos=(weekId-1)*3
print(weekStr[pos:pos+3])
#WeekNamePrintV2.py
weekStr="一二三四五六七"
weekId=eval(input("請輸入星期數字(1-7):"))
print("星期"+weekStr[weekId-1])
len(x) 返回字符串長度
str(x) 任意類型x加上“”變成字符串形式
hex(x)/oct(x) 十六進制/八進制
chr(u) 返回字符
ord(x) 返回Unicode編碼
字符串中處理方法 要用.
str.lower() 全小寫
str.upper() 全大寫
str.split(sep=None) 分割 "A,B,C".split(",") -> ['A','B','C']
str.count(sub) 統計sub在str中出現的次數
str.replace(old,new) new替換old
str.center(width[,fillchar]) 字符串根據width居中"python".center(20,"=")-> '=======python======='
str.strip(chars)去掉chars
str.join(iter) 除最後一個元素外的每個元素後增加一個iter
格式化
.format()
槽 可填數字代表format()中第幾個數字
"{1}:計算機{0}的CPU佔用率爲{2}%".format("2018-10-10","C",10)
長度爲20 =填充 ^居中對齊 >右對齊 <左對齊 ,千位分隔符
格式控制標記:”{0:=^20}.format("")
控制整數
二進制 字符型(unicode) 十進制 八進制 十六進制 大寫十六進制
“{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
控制浮點數
科學記數法 大寫科學記數法 非科學記數法 百分號形式
"{0:e},{0:E},{0:f},{0:%}".format(3.14)
time庫
import time
time.
分爲三類:
1.獲取時間 time() ctime() gmtime()
獲取時間的浮點數 返回字符串返回當前時間(easiest) 計算機可以處理的時間格式,其他程序可以利用
2.時間格式化 strftime(tpl,t) strptime()
tpl 格式化模板字符串 t=time.gmtime()
%Y 年
%m 月份
%B 月份名稱 April
%b 月份名稱縮寫 Apr
%d 日
%A 星期名稱
%a 星期名稱縮寫
%H 小時(24h制)
%h 小時(12h制)
%p 上下午
%M 分鐘
%S 秒
3.程序計時 sleep() perf_counter()
產生時間 測量時間函數
def wait():
time.sleep(3.3)
wait() #程序將等待3.3s後再退出
文本進度條
字符串方式打印可動態變化的文本進度條
#TextProBarV1.py
import time
scale=10
#文本大概寬度爲10
print("執行開始----")
for i in range(scale+1):
a='*'*i
b='.'*(scale-i)
c=(i/scale)*100
print("{:^3.0f}%[{}->{}]".format(c,a,b))
time.sleep(0.1)
print("-------執行結束")
單行動態刷新 光標回退到之前位置\r
#TextProBarV2.py
import time
for i in range(101):
print("\r{:3}%".format(i),end='') # end表示print後加什麼,此爲後不會還行
time.sleep(0.1)
#TextProBarV13.py
import time
scale=50
#文本大概寬度爲50
print("執行開始----".center(scale//2,"-"))
start=time.perf_counter()
#計時函數
for i in range(scale+1):
a='*'*i
b='.'*(scale-i)
c=(i/scale)*100
dur=time.perf_counter()-start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
print("\n"+"執行結束".center(scale//2,'-'))
// “來表示整數除法,返回不大於結果的一個最大的整數,而” / " 則單純的表示浮點數除法
** 次方
real+imag.j
錯題:
1.23e+4+9.87e+6j.real 12300.0
1.23e-4+5.67e+4j.imag 56700.000123
s=‘Python’ print("{0:3}".format(s)) Python
123e+4+9.87e+6j.imag 9882300.0
浮點數0.0和整數0具有相同的值
‘abcd’<‘ad’ 返回true