練習1.模擬登陸判斷(3次機會)
r_name = 'xianyu'
r_password = '123456'
i = 3 # 用來控制回圈次數
while i > 0:
name = input('請輸入你的賬號:')
i -= 1
if name == r_name: # 輸入的賬號正確時
password = input('請輸入您的密碼') # 可繼續輸入密碼
if password == r_password: # 若密碼正確
print('登錄成功, %s 歡飲您!' %(r_name)) # 登錄成功,退出回圈
break
else: # 若密碼錯誤
if i:
print('密碼輸入錯誤,您還有 %s 次機會嘗試,請重新登錄' %(i)) # 提示用戶剩余機會
else:
con = input('3次機會已用完,您是否還要繼續嘗試?Y')
if con == 'Y':
i = 3
else: # 輸入的賬號錯誤時
if i:
print('您輸入的賬號有誤,請重新輸入,\n 還有 %s 次機會' %(i))
else:
con = input('3次機會已用完,您是否還要繼續嘗試?Y')
if con == 'Y':
i = 3
練習2.求1-2+3-4+5-6...+99的值,要求跳過88
#Python學習交流群:778463939
# 方法一
i = 1
sum = 0
while i < 100:
if i % 2:
sum += i
else:
if i == 88:
pass
else:
sum -= i
i += 1
print(sum)
# 方法二
j = 0
k = -1 # 把所有的都當做加法,減偶數就相當于加上一個負偶數,k用來表示正負
sum2 = 0
while j < 99: # i 是從零開始的,先自加了
j += 1
if j == 88:
k = -k
continue
else:
k = -k
sum2 += j*k
print(sum2)
在第一個例子中,使用了 %s ,%s相當于一個占位符,可用來進行格式化輸出,一般字串用%s占位,數字用 %d 占位
在格式化輸出的字串中,若同時存在%,需要使用兩個 %% 進行轉義表示
str = '''
-------------- %s 的自我介紹------------
姓名: %s
年齡: %d
身高: %d cm
體重: %d kg
性別: %s
%s ,你的身體素質打敗了 %d%% 的人.
------------------------------------------
''' %(name,name,age,height,weight,sex,name,25)
print(str)
在上面的代碼中,占位符必須與后面的值一一匹配.最后的兩個%實際顯示出來只有一個
格式化輸出的另一種方法時使用字串的 .format() 方法,任然以上面的代碼為例使用.format方法來進行格式化,有三種方式
str = '''
-------------- {} 的自我介紹------------
姓名: {}
年齡: {}
身高: {} cm
體重: {} kg
性別: {}
{} ,你的身體素質打敗了 {}% 的人.
------------------------------------------
'''.format(name,name,age,height,weight,sex,name,25)
print(str)
在這種方式中,所有的占位符都可以用{}來代替.最后的值仍要一一匹配,name出現了3次
第二種方法
str = '''
-------------- {0} 的自我介紹------------
姓名: {0}
年齡: {1}
身高: {2} cm
體重: {3} kg
性別: {4}
{0} ,你的身體素質打敗了 {5}% 的人.
------------------------------------------
'''.format(name,age,height,weight,sex,25)
print(str)
在這種方法中,相當于對后面的值進行了索引編號,按照編號對應,不用重復書寫
第三種方法與第二種類似,只是將索引換為變數名,再在后面對變數進行賦值即可,此處不再贅述.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/203913.html
標籤:其他
