1. 程式人生 > >while迴圈語句 格式化輸出等一些練習

while迴圈語句 格式化輸出等一些練習

while迴圈

格式:

while 關鍵字 空格 條件 冒號

縮排 迴圈體

break 終止
continue 跳出本次迴圈,繼續下次迴圈
條件 可以控制while迴圈

格式化輸出

msg = '你好%s,我是%s'%('喬狗','你大哥')
    print(msg)

%s  %d== %i 佔位   d和i必須放入的是整型  %s是不是放任何東西

數量要對應
在格式化中使用%的時候需要轉義 %%

運算子

比較運算子
>  <  >=  <=  ==  !=
賦值運算子
+=  -=  *=  /=  //=  **=  %=
成員運算子
in  not  in
邏輯運算子
and  or  not
算數運算子
+  -  *  /  **  %  //

初識編碼

ascii 美國 256 沒有中文
一個位元組 8位
gbk 中國
中文 2位元組 16位
英文 1位元組 8位
unicode 萬國碼
2個位元組 16位
4個位元組 32位
utf-8 可變編碼
英文 1位元組 8位
歐洲 2位元組 16位
亞洲 3位元組 24位

單位轉化
# bit 位
# bytes 位元組

# 1B == 8bit
# 1024B = 1kB
# 1024kB = 1MB
# 1024MB = 1GB
# 1024GB = 1TB

 

我們來做一些案例

判斷下列邏輯語句的True,False

1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6                  True

2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6                False

求出下列邏輯語句的值

1),8 or 3 and 4 or 2 and 0 or 9 and 7                          8

2),0 or 2 and 3 and 4 or 6 and 0 or 3                          4

求下列結果

 

1)、6 or 2 > 1                                6  

 

2)、3 or 2 > 1                                3

 

3)、0 or 5 < 4                                False

 

4)、5 < 4 or 3                                3

 

5)、2 > 1 or 6                                True

 

6)、3 and 2 > 1                                True

 

7)、0 and 3 > 1                                0

 

8)、2 > 1 and 3                                3

 

9)、3 > 1 and 0                                0

 

10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2                    2

 

 

利用while語句寫出猜大小的遊戲

設定一個理想數字比如:66,讓使用者輸入數字,如果比66大,則顯示猜測的結果大了;如果比66小,則顯示猜測的結果小了;只有等於66,顯示猜測結果正確,然後退出迴圈。

 

num=66
while 1:
    num1 = int(input("請輸入你的猜想:"))
    if num1>num:
        print("猜大了")
    elif num1<num:
        print("猜小了")
    else:
        print("猜對了")
        break

 

對以上的題進行升級

給使用者三次猜測機會,如果三次之內猜測對了,則顯示猜測正確,退出迴圈,如果三次之內沒有猜測正確,則自動退出迴圈,並顯示太笨了你....’

 

num=66
count=1
while count<=3:
    num1 = int(input("請輸入你的猜想:"))
    if num1>num:
        print("猜大了")
        count+=1
    elif num1<num:
        print("猜小了")
        count+=1
    else:
        print("猜對了")
        break
    if count>3:
        print("太笨了你")

 

使用while迴圈輸出 1 2 3 4 5 6 8 9 10

sum=1
while sum<11:
    if sum!=7:
        print(sum)
    sum+=1

求1-100的所有數的和

sum=0
count=1
while count<101:
    sum+=count
    count+=1
print(sum)

輸出 1-100 內的所有奇數

count=1
while count<101:
    print(count)
    count+=2

輸出 1-100 內的所有偶數

count=0
while count<100:
    count+=2
    print(count)

求1-2+3-4+5 ... 99的所有數的和

第一種寫法:

sum = 0
count = 1
while count < 100:
    if count % 2 == 1:
        sum += count
        count += 1
    else:
        sum -= count
        count += 1
print(sum)

第二種寫法:

sum = 0
count = 1
while count < 100:
    if count % 2 == 1:
        sum += count
    else:
        sum -= count
    count += 1
print(sum)

第三種寫法:

1 i=0                #作為迴圈的的值
2 sum=0           #作為最後列印總值
3 j=-1               #作為運算時的符號
4 while i<99:
5     i+=1           #i自加1
6     j=-j             #此處把符號變換     
7     sum+=i*j     #sum等於i的值乘以符號,達到變號
8 print(sum)         #列印sum                     

⽤戶登陸(三次輸錯機會)且每次輸錯誤時顯示剩餘錯誤次數

uname="喬狗"
upassword="666"
count=3
while count>0:
    username=input("輸入你的使用者名稱:")
    userpassword=input("輸入密碼:")
    if username==uname and userpassword==upassword:
        print("登入成功")
        break
    else:
        print("使用者名稱或密碼錯誤,你還有%s次機會" % (count-1))
        count-=1