python基礎-02-while格式化邏輯運算

 

python其餘知識目錄

 

一、循環打印「我是小馬過河」

while True:
   print('我是小馬過河')

#四、用while從一打印到10html

#五、請經過循環,1 2 3 4 5 6 8 9 10 python

#備註:連續的對其中一個不作相同的操做(連續數字指ide

定其中一個不打印)post

 

#自我註解:無限循環,死循環用while。ui

小結:編碼

死循環無限循環while ;有限循環for;知足條件中止循環if知足就break;
須要輸入input;須要序列range()或定義自增循環;循環中某個不操做if知足條件continue,pass;for 用range能省去while的循環計數url


判斷變量是否是某種類型:
if type(變量) == 數據類型:(str ,list,tuple,dict)
print(數據類型)spa

#四、用while從一打印到10

#注意Python彷佛不能用i++,能夠i+=1
code

count=0
while count<10:
    count=count+1
    print(count)                 #從1到10,(0,10)先自增

count=0
while count<=9:
    count = count + 1
    print(count)                #從1到10,(0,9]先自增

count=0
while count<10:
    count +=1
    print(count)               #從1到10,(0,10)先自增,自增能夠count=count+1;count+=1;若是自增爲一個變量,那麼count+=變量

count=1
while count<11:
    print(count)
    count = count + 1       #[1,11),先其它操做後自增

count=1
while count<=10:
    print(count)
    count = count + 1      #[1,10]先其它操做後自增

#給本身的建議:程序須要從幾到幾,按照第一種方式,先自增後其它,實現循環次數後再作操做,自增放在前面防止思路弄亂,方便本身閱讀。
#須要添加倒着循環的

#五、請經過循環,1 2 3 4 5 6 8 9 10

 #備註:連續的對其中一個不作相同的操做(連續數字指

定其中一個不打印)  #自我註解 連續數字一個不打印至關於不等於它就打印,或者等於它就跳過本次循環後面的操做

count=0
while count<10:
    count=count+1
    if count != 7:
        print(count)

先打印出1-10,而後去掉7
count=0
while count<10:
    count=count+1
    if count == 7 :
        continue
    print(count)

print("""
1
3
4
5
6
8
9
10""")

count=0
while count<10:
    count=count+1
    if count == 7 :
        pass
    else:
        print(count)

6  8-10

#六、while else 結構

count=0
while count<10:
    count = count + 1
    print(count)
else:
    print("再也不知足while的條件時,即whil返回值爲False時執行這裏,break等跳出循環的操做是否

執行else後面語句,看返回值")

#自我註解:循環(正常)結束才執行的代碼,非正常結束不執行代碼
#添加:上面爲循環作完了作什麼操做,添加一個循環作完了而後作知足某種條件的才作某種操做,不然是另外一種操做。(使用flag)

#七、格式化輸出

一、s%  指定佔位符寬度orm

name=["mcw","小馬過河","魔降風雲變"]
print("%s和%s"%(name[0],name[1]))
--------------結果:
mcw和小馬過河

print("name:%s"%("mcwhr"))            #指定佔位符寬度
print("name:%3s"%("mcwhr"))
print("name:%6s"%("mcwhr"))
print("name:%8s"%("mcwhr"))
print("name:%12s"%("mcwhr"))
print("name:%8.2f"%(3.1415926))
--------------結果:

 

print ("Name:%s Age:%d Height:%.2f"%("mcw",18,1.64))                    #加-加數字,可實現幾列對齊排序
print ("Name:%-s Age:%-d Height:%-.2f"%("mcw",18,1.64))
print ("Name:%10s Age:%8d Height:%8.2f"%("mcw",18,1.64))
print ("Name:%-10s Age:%-8d Height:%-8.2f"%("mcw",18,1.64))
print ("Name:%-12s Age:%-12d Height:%-12.2f"%("mcw",18,1.64))
-------------------------結果:

 

 
  
問題一:%s格式化輸出缺乏傳參出現的錯誤 name=["mcw","小馬過河","魔降風雲變"] print("%s和%s"%(name[0])) --------結果: print("%s和%s"%(name[0])) TypeError: not enough arguments for format string (格式字符串的參數不足) 問題二:%s傳參數量多於接收的數量報錯 name=["mcw","小馬過河","魔降風雲變"] print("%s和%s"%(name[0],name[1],name[2])) ----------------結果: print("%s和%s"%(name[0],name[1],name[2])) TypeError: not all arguments converted during string formatting (並不是全部參數都在字符串格式化過程當中轉換)
問題三:缺乏一個右半邊括號報錯:
name=["mcw","小馬過河","魔降風雲變"]
print("%s和%s"%(name[0],name[1])
-------------結果:
SyntaxError: unexpected EOF while parsing (分析時出現意外的EOF)

二、%d        #取整數

print("You have %d books"%(23.4))
------------結果:
You have 23 books

%d能夠取整,而%s卻不能取整
print("You have %s books"%(23.4))
--------------結果:
You have 23.4 books

三、%%     #打印一個%號,要用另外一個%轉義,不要被%s的%所影響。

print("我有%s%%的把握"%(80))
-----------------結果:
我有80%的把握

四、%f     #打印浮點數,以及指定打印小數位位數

print("我支付寶只有%f的餘額"%(250.25))
--------------結果:
我支付寶只有250.250000的餘額

print("我支付寶只有%.3f的餘額"%(250.25))    
-------------結果:
我支付寶只有250.250的餘額
#%f能夠打印出後面的浮點數,彷佛是6位小數。而%s寫的啥就輸出的啥 
print(
"我支付寶只有%s的餘額"%(250.25))
--------------結果: 我支付寶只有250.25的餘額

參考:https://www.cnblogs.com/claidx/p/7253288.html

字符串格式化存在的意義

name = input('姓名:') do = input('在幹什麼:') template = "%s在教室,%s。" %(name,do,) print(template)

直接作佔位符

template = "我是%s,年齡%s, 職業%s。" %("mcw",73,'講雞湯',)

print(template)

template = "我是%s,年齡%d, 職業%s。" %("mcw",73,'講雞湯',)

print(template)

name = 'mcw'

template = "%s如今手機的電量是100%%" %(name,)

print(template)

 

佔位符%s既能夠表示字符串str,還能夠表示整數int,浮點數float;

 佔位符%d既能夠表示整數int,還能夠表示浮點數float(去除整數部分)

 佔位符%f既能夠表示浮點數float,還能夠表示整數int(默認保留6位小數)

  注意:若想自主保留n位小數,可將其表示位%.nf

 

自我註解:格式化輸出"%s"%(傳的值),打印%就要再加一個%

問題:若是後面%s和後面的參數個數不一致會是什麼狀況?


pycharm改解釋器版本

#八、打印1-100的奇數

count=0
while count<100:
    count=count+1
    if count%2 != 0:
    print(count)

 

#自我註解:除以2取餘爲0的是偶數。條件可得偶數,須要奇數,條件取反就得奇數。

#九、求和1-100

count=0
sum=0
while count<100:
    count=count+1
    sum=sum+count
print(sum)
#註解:count自增實現循環,sum將每次循環的count加到sum裏,實現count1-100的循環求和

#十、計算1-10中,除1外,偶數減奇數

zongshu=0
num=1
while  num<11:
    if num==1:
        zongshu=zongshu+num
    elif num !=1:
        b=num%2
        if  b==False:
            zongshu=zongshu+num
        elif b==True:
            zongshu=zongshu-num
    num=num+1
print(zongshu)

#十一、求方,

#十二、求開方

#1三、邏輯運算 與或非

#1四、數據類型轉換

bool() 數字和字符串轉布爾類型,0和空字符串是False,空格是True.布爾值轉換數字爲0和1,轉換爲字

符串爲字符串。 int() 字符串轉數字,數字轉字符串 str()

#須要增長數據類型轉換

 

#1五、value=1 or 9  (and,or,not)

#注意:彷佛由此判斷變量的值,而後對值進

or

"""

對於 or,若是有遇到 value= 1 or 9 第一個值若是是轉換成布爾值若是是真,則value=第一值。 第一個值若是是轉換成布爾值若是是假,則value=第二值。 若是有多個or條件,則從左到右依次進行上述流程。 示例: v1 = 0 or 1 v2 = 8 or 10 v3 = 0 or 9 or 8 """

#註解:or遇到假,日後走,遇到第一個真,就返回這個值。遇到全爲假,返回最後那個值 $找真找到就停

v1= 0 or 0 or False
v2=0 or False or 0
print(v1,v2)
View Code

and

""" 對於and,若是遇到 value= 1 and 9 這種狀況 若是第一個值轉換成布爾值是True,則value=第二個值。 若是第一個值轉換成布爾值是False,則value=第一個值。 若是有多個and條件,則從左到右依次進行上述流程。

#註解:and遇到假就停,返回假的值。沒有假,返回最後一個值  $找假,找到就停

示例:

v1 = 1 and 9
v2 = 1 and 0
v3 = 0 and 7
v4 = 0 and ""
v5 = 1 and 0 and 9
j_str = "v1=%s v2=%s v3=%s v4=%s v5=%s" %(v1,v2,v3,v4,v5)
print(j_str)

#v1=9 v2=0 v3=0 v4=0 v5=0

行判斷作對應的操做 第一個值轉換布爾值若是是真,則value=第一個值 第一個值轉換布爾值若是是假,則value=第二個值 若是有多個or條件,則從左到右依次

從左到右進行判斷,遇到真即中止繼續判斷

and 遇到0就0,遇到空就空,都麼遇到就是最後那個,同時遇到誰在前就是誰?

 

unicode如今基本ecs4,小表情ecs4,ecs2不包括 gbk gb2312,其中一個是另外一個的升級,多一點。兩者用兩個字節存儲漢字。 不少開源組件是國外的,用的是utf-8,建議用utf-8的編碼

相關文章
相關標籤/搜索