12月 3 日python
一、使用while循環輸入 1 2 3 4 5 6 8 9 10git
for i in range(1,10):
if i == 7: print(" ",end="") else: print("%d "%i,end="")
二、求1-100的全部數的和api
1 for i in range(1,101): 2 if i <100 : 3 j = j+i 4 else: 5 print(i+j)
三、輸出 1-100 內的全部奇數,輸出 1-100 內的全部偶數編碼
j = 0 k = 0 for i in range(1,101): if i%2 == 0: j = j+i else: k = k+i print("全部奇數和爲%d,偶數和爲%d"%(k,j))
四、求1-2+3-4+5 ... 99的全部數的和spa
# 求1-2+3-4+5...99的全部數的和 def main(): j = 0 i = 0 while i < 100: if i%2 == 1: j = j+i else: j = j-i i = i+1 print("1-2+3-4+...+99的和爲%d"%j) if __name__ == '__main__': main()
五、用戶登錄(三次機會重試)code
1 username = "liuming" 2 password = 123456 3 i = 0 4 while i < 3: 5 i += 1 6 user_name = input("請輸入你的名稱:") 7 if user_name == username: 8 pass_word = input("請輸入你的密碼:") 9 if int(pass_word) == password: 10 print("登陸成功") 11 break 12 else: 13 print("密碼輸入錯誤,請從新輸入") 14 if i == 3: 15 print("登陸超過3次,請明天再試") 16 else: 17 print("用戶名不存在") 18 if i == 3: 19 print("登陸超過3次,請明天再試")
12月4日1.判斷下列邏輯語句的True和Falseblog
(1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
(2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
(3) 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4> 6 or 3 <2
2.求出下列邏輯語句的值
(1) 8 or 3 and 4 or 2 and 0 or 9 and 7
(2) 0 or 2 and 3 and 4 or 6 and 0 or 3
(3) 5 and 9 or 10 and 2 or 3 and 5 or 4 or 5
3.下列結果是什麼?索引
x or y,若x爲真,則返回x.若x爲假,y爲真,則返回y.若x和y都爲假,返回y
x and y,若x爲真,y也爲真,則返回y.y爲假,則返回y.若x爲假,則返回x.遊戲
(1) 6 or 2 > 1
(2) 3 or 2 > 1
(3) 0 or 5 < 4
(4) 5 < 4 or 3
(5) 2 > 1 or 6
(6) 3 and 2 > 1
(7) 0 and 3 > 1
(8) 2 > 1 and 3
(9) 3 > 1 and 0
(10) 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 >2
4.簡述變量命名規範
"""
變量要以數字、下劃線或者字母任意組合,且不能以數字開頭;
不能以關鍵字命名;
通常不以中文以及漢字拼音命名;
常量通常所有是大寫;
命名要有意義,不宜過長。ip
"""
5.name = input (">>>")name變量是什麼數據類型?
"""
使用input,從鍵盤上輸入的值都將變爲字符串類型。
"""6.if條件語句的基本結構?
"""
if xxx:
xxx
elif xxx:
xxx
else:
xxx
"""
7.while循環語句基本結構?
"""
while 條件判斷:
執行語句
"""
8.計算1-2+3...+99中除了88之外全部數的和?
i = 1 sum = 0 while i < 100: if i == 88: i += 1 continue elif i%2 != 0: sum = sum + i else: sum = sum - i i += 1 print(sum)
9.用戶登陸(3次輸錯機會)且每次輸錯誤時顯示剩餘錯誤次數(使用字符串格式化)
username = "liuming" password = "123456" i = 3 while i>=0: name = input("用戶名:") i -= 1 if i == 0: print("你的機會已經用完") break if name == username: passwd = input("密碼:") if passwd == password: print("登陸成功") else: print("密碼錯誤,請從新輸入,你還有%s次機會"%i) continue else: print("用戶名錯誤,請從新輸入,你還有%s次機會"%i)
10.簡述 ascii unicode utf-8編碼關係?
"""
ascii 只能顯示英文,特殊字符,數字。
萬國碼:unicode 最開始16位,中文不夠32位 4個字節。佔用資源多。
升級:utf-8 utf-16 utf-32
utf-8:最少用一個字節,8位表示一個英文。歐洲16位,兩個字節。亞洲 24位,三個字節。
gbk:中國國產,只能用於中文和ascii碼中的文字,一箇中文用兩個字節表示。
"""
11.簡述位和字節的關係?
"""
位:二進制位(bit)是計算機存儲信息的基本單位,表明1個二進制數位,其值爲0或1。
字節:8個連續的二進制位爲一個字節,能夠存放1個西文字符的編碼。
"""
12."老男孩" 使用utf-8編碼佔用幾個字節?使用gbk編碼佔用幾個字節?
"""
「老男孩」使用UTF-8編碼佔用9個字節
「老男孩」使用GBK編碼佔用6個字節
"""
13.製做趣味模板程序需求:等待用戶輸入名字、地點、愛好,根據用戶的名字和愛好進行任意顯示 如:敬愛可親的xxx,最喜歡在什麼地方幹xxx.
"""
name = input('請輸入姓名:')
place = input('喜歡的地點:')
hobby = input('你的愛好:')
tem = '敬愛可親的%s,最喜歡在%s地方幹%s'%(name, place ,hobby)
print(tem)
"""
14. 等待用戶輸入內容,檢測用戶輸入內容中是否包含敏感字符?若是存在敏感字符提示「存在敏感字符請從新輸入」,並容許用戶從新輸入並打印。敏感字符:「小粉嫩」、「大鐵錘」
while True: msg = input("請輸入內容:") if msg == "小粉嫩" or msg == "大鐵錘": print("存在敏感字符,請從新輸入") else: break
15. 單行註釋以及多行註釋?
"""
單行註釋:#
多行註釋:""" """
"""
16. 簡述你所知道的Python3和Python2的區別?
"""
Python2:源碼雜而亂,且有重複內容,違背了Python的宗旨。默認編碼方式是ASCII碼,讀取中文時會亂碼
Python3:遵循「優雅,明確,簡單」,默認編碼方式是utf-8,讀取中文時不會亂碼
"""
17. 看代碼書寫結果:
"""
a = 1>2 or 4<7 and 8 == 8
print(a)
結果:True
"""
18. continue 和 break 的區別?
"""
continue:結束本次循環,繼續下一次的循環;
break:直接跳出循環。
"""
19. 看代碼書寫結果:
"""
a = 12 and 127
print(a)
結果:127
"""
12月5日
1,有變量name = "aleX leNb" 完成以下操做:
""" title() -->首字母大寫,其他小寫
strip() -->刪除字母兩邊的空格 lstrip -->刪除左邊空格 rstrip -->刪除右邊空格
1) 移除name 變量對應的值兩邊的空格,並輸出處理結果
print(name.strip())
2) 移除name變量左邊的"al"並輸出處理結果
print(name[2:])
3) 移除name變量右面的"Nb",並輸出處理結果
print(name[0:-2]
4) 移除name變量開頭的a"與最後的"b",並輸出處理結果
print(name[1,-1])
5) 判斷 name 變量是否以 "al" 開頭,並輸出結果
if name[0:2] == "al":
print("yes")
else:
print("no")
6) 判斷name變量是否以"Nb"結尾,並輸出結果
使用 name[-2:]
7) 將 name 變量對應的值中的 全部的"l" 替換爲 "p",並輸出結果
print(name.replace("l","p"))
8) 將name變量對應的值中的第一個"l"替換成"p",並輸出結果
print(name.replace("l","p",1))
9) 將 name 變量對應的值根據 全部的"l" 分割,並輸出結果。
print(name.split("l"))
10) 將name變量對應的值根據第一個"l"分割,並輸出結果。
print(name.split("l",1))
11) 將 name 變量對應的值變大寫,並輸出結果
print(name.upper())
12) 將 name 變量對應的值變小寫,並輸出結果
print(name.lower())
13) 將name變量對應的值首字母"a"大寫,並輸出結果
print(name.capitalize())
14) 判斷name變量對應的值字母"l"出現幾回,並輸出結果
print(name.count("l"))
15) 若是判斷name變量對應的值前四位"l"出現幾回,並輸出結果
print(name.count("l",0,4))
16) 從name變量對應的值中找到"N"對應的索引(若是找不到則報錯),並輸出結果
print(name.find("N",0,))
17) 從name變量對應的值中找到"N"對應的索引(若是找不到則返回-1)輸出結果
print(name.index("N",0,))
18) 從name變量對應的值中找到"X le"對應的索引,並輸出結果
print(name.find('X le'))
19) 請輸出 name 變量對應的值的第 2 個字符?
print(name[1])
20) 請輸出 name 變量對應的值的前 3 個字符?
print(name[0:3])
21) 請輸出 name 變量對應的值的後 2 個字符?
print(name[-3:-1])
22) 請輸出 name 變量對應的值中 "e" 所在索引位置?
print(name.find('e')
2,有字符串s = "123a4b5c"
1)經過對s切片造成新的字符串s1,s1 = "123"
2)經過對s切片造成新的字符串s2,s2 = "a4b"
3)經過對s切片造成新的字符串s3,s3 = "1345"
4)經過對s切片造成字符串s4,s4 = "2ab"
5)經過對s切片造成字符串s5,s5 = "c"
6)經過對s切片造成字符串s6,s6 = "ba2"
s = "123a4b5c"
print(s[0:3])
print(s[3:6])
print(s[0::2])
print(s[1:-1:2])
print(s[-1:])
# 這裏的-2 是指:從右往左數,
s6 = s[-3::-2]
print("s6 = " + s6)
3,使用while和for循環分別打印字符串s="asdfer"中每一個元素。
s="asdfer"
for i in s:
print(i,end=" ")
j = 0
while j<len(s):
print(s[j],end=" ")
j += 1
if j == len(s):
break
4,使用for循環對s="asdfer"進行循環,可是每次打印的內容都是"asdfer"。
for i in s:
print(i,end="") # end=""不換行且沒間隔
5,使用for循環對s="abcdefg"進行循環,每次打印的內容是每一個字符加上sb, 例如:asb, bsb,csb,...gsb。
for i in s:
print(i+"sb")
6,使用for循環對s="321"進行循環,打印的內容依次是:"倒計時3秒","倒計時2秒","倒計時1秒","出發!"。
s = "321"
for i in s:
print("倒計時%s秒" % i)
if int(i) == 1:
print("出發")
break
7,實現一個整數加法計算器(兩個數相加):
如:content = input("請輸入內容:") 用戶輸入:5+9或5+ 9或5 + 9,而後進行分割再進行計算。
content = input("請輸入內容:")
index = content.find("+") #查看+號的索引值,若是沒有,返回-1
k1 = int(content[0:index])
k2 = int(content[index+1:])
print(k1+k2)
8,升級題:實現一個整數加法計算器(多個數相加):
如:content = input("請輸入內容:") 用戶輸入:5+9+6 +12+ 13,而後進行分割再進行計算。
list = input("請輸入內容:").split("+")
sum = 0
for i in list:
sum = sum+int(i)
print(sum)
9,計算用戶輸入的內容中有幾個整數(以個位數爲單位)。
如:content = input("請輸入內容:") # 如fhdal234slfh98769fjdla
content = input("請輸入內容:")
count = 0
for i in content:
if i.isdigit(): #判斷i是否爲整數
count += 1
print(count)
十、寫代碼,完成下列需求:
用戶可持續輸入(用while循環),用戶使用的狀況:
輸入A,則顯示走大路回家,而後在讓用戶進一步選擇:
是選擇公交車,仍是步行?
選擇公交車,顯示10分鐘到家,並退出整個程序。
選擇步行,顯示20分鐘到家,並退出整個程序。
輸入B,則顯示走小路回家,並退出整個程序。
輸入C,則顯示繞道回家,而後在讓用戶進一步選擇:
是選擇遊戲廳玩會,仍是網吧?
選擇遊戲廳,則顯示 ‘一個半小時到家,爸爸在家,拿棍等你。’並讓其從新輸入A,B,C選項。
選擇網吧,則顯示‘兩個小時到家,媽媽已作好了戰鬥準備。’並讓其從新輸入A,B,C選項。
while True:
content = input("請輸入你要執行的操做:A-走大路,B-走小路,C-繞道回家:")
if content == "A":
print("走回去")
msg = input("請輸入你的回家方式,公交車-1,步行-2:")
if msg == "1":
print("10分鐘到家")
break
else:
print("20分鐘到家")
break
elif content == "B":
print("走小路回家")
break
elif content == "C":
print("繞道回家")
msg_num02 = input("請輸入你的選擇,遊戲廳-2,網吧-1:")
if msg_num02 == "1":
print('兩個小時到家,媽媽已作好了戰鬥準備。')
continue
else:
print("一個半小時到家,爸爸在家,拿棍等你。")
continue
else:
print("你輸入錯誤,請從新輸入")
習題來自網上找到的老男孩python平常習題,都是我在pycharm上敲的,本人自學,習題會繼續更新,接收你們批評教育,謝謝。