1. 程式人生 > >python習題

python習題

子列 後退 刪除列 git 添加 break 移除 spl div

#習題1
#a:實現用戶輸入用戶名和密碼,當用戶名為seven且密碼為123時,顯示登錄成功,否則登錄失敗!
while 1:
    name = input(請輸入用戶名: )
    psw = input(請輸入密碼: )
    if name == seven and psw == 123:
        print(登陸成功)
        break
    else:
        print(登陸失敗)
        break
#b實現用戶輸入用戶名和密碼,當用戶名為seven且密碼為123時,顯示登錄成功,否則登錄失敗,失敗時允許重復輸入三次
count=1 while count <= 3: name = input(請輸入用戶名: ) psw = input(請輸入密碼: ) if name == seven and psw == 123: print(登陸成功) break else: print(登錄失敗) count+=1 continue #c實現用戶輸入用戶名和密碼,當用戶名為seven或alex且密碼為123時,顯示登錄成功,否則登錄失敗,失敗時允許重復輸入三次 count=1 while
count <= 3: name = input(請輸入用戶名: ) psw = input(請輸入密碼: ) if name == seven and psw == 123: print(登陸成功) break elif name == alex and psw == 123: print(登陸成功) break else: print(登錄失敗) count+=1 continue #習題2 #
a使用while循環實現輸出2-3+4-5+6...+100的和 res=0 count=2 while count <= 100: if count%2 == 1: res-=count else: res+=count count+=1 print(res) #b使用for循環和range實現輸出1-2+3-4+5-6...+99的和 res=0 for i in range(1,100): if i%2== 1: res+=i else: res-=i i+=1 print(res) #c使用while循環實現輸出1,2,3,4,5 7,8,9 11,12 res=1 while res <=12: if res == 6 or res ==10: res+=1 continue print(res) res+=1 #d使用while循環實現輸出1-100內的所有奇數 res=1 while res <= 100: if res%2 == 1: print(res) else: res+=1 continue res+=1 #e使用while循環實現輸出1-100內的所有偶數 res=1 while res <=100: if res%2 == 0: print(res) else: res+=1 continue res+=1 #練習三 #a移除name變量對應的值的兩邊的空格,並輸入移除有的內容 # name=‘alex‘ # print(name.strip()) #b判斷name變量對應的值是否以"al"開頭,並輸出結果 # name=‘alex‘ # print(name.startswith(‘al‘)) #True #c判斷name變量對應的值是否以"x"結尾,並輸出結果 # name=‘alex‘ # print(name.endswith(‘x‘)) #True #d將name變量對應的值中的"l"替換為"p",並輸出結果 # name=‘alex‘ # print(name.replace(‘l‘,‘p‘)) # e.將name變量對應的值根據"l"分割,並輸出結果 # name=‘alex‘ # print(name.split(‘l‘)) # f.請問,上一題e分割之後得到的值是什麽類型 # name=‘alex‘ # print(type(name.split(‘l‘))) # g.將name變量對應的值變大寫,並輸出結果 # name=‘alex‘ # print(name.upper()) # h.將name變量對應的值變大小寫,並輸出結果 # name=‘alex,ALex‘ # print(name.upper()) # print(name.lower()) # i.請輸出name變量對應的值的第2個字符? # name=‘alex‘ # print(name[1]) # j.請輸出name變量對應的值的前3個字符? # name=‘alex‘ # print(name[0:3]) # k.請輸出name變量對應的值的後2個字符? # name=‘alex‘ # print(name[-2:]) # l.請輸出name變量對應的值中"e"所在的索引位置? # name=‘alex‘ # print(name.find(‘e‘)) #練習四:寫代碼,有如下列表,按照要求實現每一個功能 # li = [‘alex‘,‘eric‘,‘rain‘] # a.計算列表長度並輸出 # print(len(li)) # b.列表中追加元素"seven",並輸出添加後的列表 li.append(seven) print(li) # c.請在列表的第1個位置插入元素"Tony",並輸出添加後的列表 li.insert(0,Tony) print(li) # d.請修改列表第2個位置的元素為"Kelly",並輸出修改後的列表 li[1]=kelly print(li) # e.請刪除列表中的元素"eric",並輸出修改後的列表 li.remove(eric) print(li) # f.請刪除列表中的第2個元素,並輸出刪除元素的值和刪除元素後的列表 print(li.pop(1)) print(li) # g.請刪除列表中的第3個元素,並輸出刪除元素後的列表 li.pop(2) print(li) # h.請刪除列表中的第2至4個元素,並輸出刪除元素後的列表 li = [alex,eric,rain,lina] del li[1:5] print(li) # i.請將列表所有的元素反轉,並輸出反轉後的列表 li.reverse() print(li) #*豎三角形 l=* for i in range(1,10): print(i*l) #*倒豎三角 #方法1 l=* i=9 while i > 0: print(i*l) i-=1 #方法2 for i in range(1,12): for j in range(1,12-i): print(*,end=‘‘) print() #取出列表中的名字,年齡,出生的年,月,日 data=[alex,49,[1900,3,18]] print(data[0],data[1],data[2][0],data[2][1],data[2][2]) #去掉重復 names=[egon,alex,egon,wupeiqi] print(list(set(names))) #去掉重復,且保證列表順序與原來保持一致 names=[egon,alex,egon,wupeiqi] res=[] for i in names: if i not in res: res.append(i) print(res) #去掉重復,且保證列表順序與原來保持一致 names=[[1,2],3,[1,2],4] res=[] for i in names: if i not in res: res.append(i) print(res) #統計s=‘hello alex alex say hello sb sb‘中每個單詞的個數 s=hello alex alex say hello sb sb l=(list(s.split( ))) s1=set(l) for i in s1: print(i,l.count(i)) #練習一: # if True or False and False: # print(‘yes‘) # else: # print(‘no‘) #輸出結果為?為什麽? # 輸出結果為yes,因為 False and False = False,True or False = True # if (True or False) and False: # print(‘yes‘) # else: # print(‘no‘) #輸出結果為?為什麽? # 輸出結果為no,因為 True or False = True , True and False = False #練習二:編寫if多分支,猜老男孩的年紀 oldbpy_age=67 while True: age=input(請輸入老男孩的年紀: ) age=int(age) if age == oldbpy_age: print(恭喜你猜對了) break elif age < oldbpy_age: print(猜小了,傻逼) continue else: print(猜大了傻逼) #練習三:用戶輸入用戶名密碼驗證,驗證通過後進入子循環,輸入命令,命令若為q,則退出所有循環 tag=True while tag: name = input(請輸入用戶名: ) psw = input(請輸入密碼: ) if name == sam and psw == 123: print(登陸成功) else: print(請重新輸入: ) continue while tag: cmd = input(請輸入命令(q退出): ) if cmd ==q: tag = False else: print(輸入的命令為: ,cmd) continue #練習四:循環取出元組中所有元素:方式一:while和for(按照索引),方式二:不按照索引的方式 t=(1,2,3,4,5,6,7,8,9) s=0 while s < len(t): print(t[s]) s+=1 t=(1,2,3,4,5,6,7,8,9) for i in t: print(t[i-1]) # # 方式二、 for i in t: print(i) #練習五:循環讀取列表以及子列表中所有元素 l=[1,2,[3,4],[5,6]] for i in l: # print(i) if type(i) == list: for j in i: print(j) else: print(i) #練習六:打印 ‘‘‘ * *** ***** ******* ‘‘‘ l=* for j in range(1,8,2): l1 = j*l print(l1.center(7, )) #練習七:打印 ‘‘‘ ***** *** * ‘‘‘ l=* l1=6 for i in range(1,6,2): l2=(6-i)*l print(l2.center(5, )) #練習八:打印 ‘‘‘ * ** *** **** ***** ‘‘‘ l=* for i in range(1,6): l1=i*l print(l1.ljust(5, )) #練習九:打印 ‘‘‘ ****** ***** **** *** ** * ‘‘‘ for i in range(1,7): for j in range(1,8-i): print(*,end=‘‘) print() #練習十:編寫登陸接口 # 基礎需求: # 讓用戶輸入用戶名密碼 # 認證成功後顯示歡迎信息 # 輸錯三次後退出程序 res=1 while res<=3: name=input(請輸入用戶名: ) psw = input(請輸入密碼: ) if name == sam and psw == 123: print(登陸成功) break else: print(登陸失敗,請重新登錄) res+=1 continue #數據類型練習題: 練習一:有十進制數n=10 轉成二進制 轉成八進制 轉成十六進制 n=10 print(bin(n)) #二進制 print(oct(n)) #八進制 print(hex(n)) #十六進制 #練習二:與用戶交互,要求用戶輸入年齡和薪資,將用戶輸入的年齡轉成整形,將用戶輸入的薪資轉成浮點型 res =1 while res <2 : nl=input(請輸入年齡: ) nl=int(nl) xz=input(請輸入薪資: ) xz=float(xz) print(type(nl)) print(type(xz)) res+=1 #練習三: ‘‘‘ 用戶輸入用戶名,年紀,工作,愛好,格式化輸出如下內容(使用%s和format兩種方式) ------------ info of Alex Li ----------- Name : Alex Li Age : 22 job : Teacher Hobbie: girl ------------- end ----------------- ‘‘‘ # 方式一 l=Name:{},Age:{},Job:{},Hobbie:{} for i in range(1,2): name=input(請輸入用戶名: ) age=input(請輸入年紀: ) job=input(請輸入工作: ) hobbie=input(請輸入愛好: ) # l=l.format(name,age,job,hobbie) print(name.center(30,-)) print(Name: %s\nAge: %s\nJob: %s\nHobbie: %s%(name,age,job,hobbie)) e=end print(e.center(30,-)) #方式二 l=Name:{z},Age:{x},Job:{c},Hobbie:{v} e=end name=input(請輸入用戶名: ) age=input(請輸入年紀: ) job=input(請輸入工作: ) hobbie=input(請輸入愛好: ) l=l.format(z=name,x=age,c=job,v=hobbie) l1=list(l[0:].split(,)) print(name.center(30,-)) for i in l1: print(i) print(e.center(30,-)) #練習四: s=alex say hello 切片取出第say print(s[5:8]) 切片取出倒數後兩個字符 print(s[-2:]) #練習五: # 編寫循環,讓用戶輸入年紀,如果輸入為空,或者不為數字,則重新輸入 while True: age = input(請輸入年紀: ) if age.isspace() == True or age.isdigit() == False: print(請重新輸入) continue else: print(您的年紀是:,age) break #練習六: # 用列表模擬上電梯的流程(隊列) # 循環生成一個1000個值的列表(入隊) # 循環取走這個1000個值(出隊) l=[] for i in range(1,1001): l.append(i) print(l) for j in range(1,1001): print(l.pop(0)) # 用列表模擬把衣服放箱子裏,然後取衣服的流程(堆棧) # 循環生成一個1000個值的列表(入棧) # 循環取走這個1000個值(出棧) l=[] for i in range(1,1001): l.append(i) print(l) for j in range(1,1001): print(l.pop()) #練習七: dicta={a:1,b:2,c:3,d:hello} dictb={b:3,c:2,d:world,f:10} 兩字典相加,不同的key對應的值保留,相同的key對應的值相加後保留,如果是字符串就拼接(字符串拼接hello+worldhelloworld) {a: 1, b: 5, c: 5, d: helloworld, f: 10} dictc=dicta for i in dictb: if i in dictc: dictc[i]=dictb[i]+dictc[i] else: dictc[i]=dictb[i] print(dictc)

python習題