1. 程式人生 > >題目練習

題目練習

Day03作業及默寫

 

1.有變數name = "aleX leNb" 完成如下操作:

 

  1. 移除 name 變數對應的值兩邊的空格,並輸出處理結果

name ="aleX leNb"

print(name.strip())

  1. 移除name變數左邊的"al"並輸出處理結果

name ="aleX leNb"

print(name.lstrip('al'))

  1. 移除name變數右面的"Nb",並輸出處理結果

name ="aleX leNb"

print(name.rstrip('Nb'))

  1. 移除name變數開頭的a"與最後的"b",並輸出處理結果

name ="aleX leNb"

s=name[1:-1]
print(s)

  1. 判斷 name 變數是否以 "al" 開頭,並輸出結果

name ="aleX leNb"

s=name[0:2]
print(s)
if s=='al':
    print("該字串是以al開頭")
else:
    print("該字串不是以al開頭")

  1. 判斷name變數是否以"Nb"結尾,並輸出結果

name ="aleX leNb"

s=name[-2:]
print(s)
if s=='Nb':
    print("該字串是以

Nb結尾")
else:
    print("該字串不是以Nb結尾")

 

  1. name 變數對應的值中的 所有的"l" 替換為 "p",並輸出結果

name ="aleX leNb"

 print(name.replace('l','p'))

 

  1. name變數對應的值中的第一個"l"替換成"p",並輸出結果

name ="aleX leNb"

print(name.replace('l','p',1))

  1. name 變數對應的值根據 所有的"l" 分割,並輸出結果。

name ="aleX leNb"

s=name.split('l')
print(s)

  1. name變數對應的值根據第一個"l"分割,並輸出結果。

name ="aleX leNb"

 s=name.split('l',1)
print(s) 

  1. name 變數對應的值變大寫,並輸出結果

name ="aleX leNb"
s=name.upper()
print(s)

  1. name 變數對應的值變小寫,並輸出結果

name ="aleX leNb"
s=name.lower()
print(s)

  1. name變數對應的值首字母"a"大寫,並輸出結果

name ="aleX leNb"
s=name.title()
print(s)

  1. 判斷name變數對應的值字母"l"出現幾次,並輸出結果

name ="aleX leNb"
s=name.count('l')
print(s)

  1. 如果判斷name變數對應的值前四位"l"出現幾次,並輸出結果

name ="aleX leNb"
s=name.count('l',0,4)
print(s)

  1. name變數對應的值中找到"N"對應的索引(如果找不到則報錯),並輸出結果

name ="aleX leNb"
s=name.index('N')
print(s)

  1. name變數對應的值中找到"N"對應的索引(如果找不到則返回-1)輸出結果

name ="aleX leNb"
s=name.find('N')
print(s)

  1. name變數對應的值中找到"X le"對應的索引,並輸出結果

name ="aleX leNb"
s=name.index('X le')
print(s)

  1. 請輸出 name 變數對應的值的第 2 個字元?

name ="aleX leNb"
s=name[1]
print(s)

  1. 請輸出 name 變數對應的值的前 3 個字元?

name ="aleX leNb"
s=name[0:3]
print(s)

  1. 請輸出 name 變數對應的值的後 2 個字元?

name ="aleX leNb"
s=name[-2:]
print(s)

  1. 請輸出 name 變數對應的值中 "e" 所在索引位置(兩個e都找)?

 

name ="aleX leNb"
s=name.rfind('e')
print(s)
s1=name.find('e')
print(s1)

 

 

2.有字串s = "123a4b5c"

  1. 通過對s切片形成新的字串s1,s1 = "123"

s = "123a4b5c"
s1=s[0:3]
print(s1)

  1. 通過對s切片形成新的字串s2,s2 = "a4b"

s = "123a4b5c"
s2=s[3:-2]
print(s2)

  1. 通過對s切片形成新的字串s3,s3 = "1345"

s = "123a4b5c"
s3=s[::2]
print(s3)

  1. 通過對s切片形成字串s4,s4 = "2ab"

s = "123a4b5c"
s4=s[1:-2:2]
print(s4)

  1. 通過對s切片形成字串s5,s5 = "c"

s = "123a4b5c"
s5=s[-1:-2:-1]
print(s5)

  1. 通過對s切片形成字串s6,s6 = "ba2"

s = "123a4b5c"
s6=s[-3:0:-2]
print(s6)

  1. 使用while和for迴圈分別列印字串s="asdfer"中每個元素。

s="asdfer"
num=len(s)
i=0
while(i<num):
    print(s[i])
    i+=1

或者

s="asdfer"
for i in s:
     print(i)

4.使用for迴圈對s="asdfer"進行迴圈,但是每次列印的內容都是"asdfer"。

while True:
    s="asdfer"
    for i in s:
        print(i)

  1. 使用for迴圈對s="abcdefg"進行迴圈,每次列印的內容是每個字元加上sb, 例如:asb, bsb,csb,...gsb。

while True:
    s = "abcdefg"
    for i in s:
        print(i+'sb')

  1. 使用for迴圈對s="321"進行迴圈,列印的內容依次是:"倒計時3秒","倒計時2秒","倒計時1秒","出發!"。

while True:
    s = "321"
    for i in s:
        print('倒計時%s'%(i))
        if i=='1':
            print("出發!")

7.實現一個整數加法計算器(兩個數相加):

如:content = input("請輸入內容:") 使用者輸入:5+9或5+ 9或5 + 9,然後進行分割再進行計算。

content = input("請輸入內容:")
s=content.split('+')
sum=int(s[0])+int(s[1])
print(sum)

  1. 升級題:實現一個整數加法計算器(多個數相加):

content = input("請輸入內容:")
s=content.split('+')
NN=len(s)
i=0
sum=0
while i<NN:
    sum+=int(s[i])
    i+=1
print(sum)

如:content = input("請輸入內容:") 使用者輸入:5+9+6 +12+  13,然後進行分割再進行計算。

 

9.計算使用者輸入的內容中有幾個整數(以個位數為單位)。

如:content = input("請輸入內容:")   # 如fhdal234slfh98769fjdla

s="fhdal234slfh98769fjdla"
i=0
for n in s:
    if n.isdigit():
        i+=1
print(i)

10.寫程式碼,完成下列需求:(升級題)

使用者可持續輸入(用while迴圈),使用者使用的情況:

輸入A,則顯示走大路回家,然後在讓使用者進一步選擇:

是選擇公交車,還是步行?

選擇公交車,顯示10分鐘到家,並退出整個程式。

選擇步行,顯示20分鐘到家,並退出整個程式。

輸入B,則顯示走小路回家,並退出整個程式。

輸入C,則顯示繞道回家,然後在讓使用者進一步選擇:

是選擇遊戲廳玩會,還是網咖?

選擇遊戲廳,則顯示 ‘一個半小時到家,爸爸在家,拿棍等你。’並讓其重新輸入A,B,C選項。

選擇網咖,則顯示‘兩個小時到家,媽媽已做好了戰鬥準備。’並讓其重新輸入A,B,C選項。

while True:
    msg=input("使用者輸入ABC")
    if msg=="A":
       print("走大路回家")
       msg1=input("輸入公交車或步行:")
       if msg1=="公交車":
            print("10分鐘到家")
            break
       elif msg1=="步行":
            print("20分鐘到家")
            break
    elif msg=='B':
        print("10分鐘到家")
        break
    elif msg=='C':
        print("繞道回家")
        msg2 = input("遊戲廳或者回家:")
        if msg2 == "遊戲廳":
            print("一個半小時到家,爸爸在家,拿棍等你。")
            continue
        elif msg2 == "回家":
            print("兩個小時到家,媽媽已做好了戰鬥準備。")
            continue

 

11.寫程式碼:計算 1 - 2 + 3 ... + 99 中除了88以外所有數的總和?

count=0
sum=0
while count<99:
    count+=1
    sum+=(-1)**(count+1)*count
sum-=88
print(sum)

12.判斷⼀句話是否是回⽂. 回⽂: 正著念和反著念是⼀樣的. 例如, 上海 ⾃來⽔來⾃海上(升級題)

s="上海海上"
s1=s[::-1]
if s==s1:
    print("是迴文")
else:
    print("不是迴文")

輸⼊⼀個字串,要求判斷在這個字串中⼤寫字⺟,⼩寫字⺟,數字, 其它字元共出現了多少次,並輸出出來

i1=0
i2=0
i3=0
i4=0
s=input("請輸入字串:")
for n in s:
    if n.isdigit():
        i1+=1
    elif n.isupper():
        i2 += 1
    elif n.islower():
        i3+=1
    else:
        i4+=1
print("大寫字母個數為%s,小寫字母個數為%s,數字個數為%s,其他字元個數為%s"%(i2,i3,i1,i4))

 

14.製作趣味模板程式需求:等待⽤戶輸⼊名字、地點、愛好,根據⽤戶的名字和愛好進行任意現實 如:敬愛可親的xxx,最喜歡在xxx地⽅⼲xxx

s1=input("姓名:")
s2=input("地點:")
s3=input("愛好:")
print("敬愛可親的%s最喜歡在%s%s"%(s1,s2,s3))

15.將一下程式碼中的內容使用迴圈列印,分別使用while迴圈和for迴圈

s = ‘我怎麼這麼可愛’ 實現效果是

s="我怎麼這麼可愛"
num=len(s)
i=0
while i<num:
    i+=1
    print(s[i-1])

或者

s="我怎麼這麼可愛"
for n in s:
    print(n)

16. 

首先讓使用者輸入序號選擇格式如下:

 

  0.退出

 

  1.開始登入

 

  如果使用者選擇序號0 就提示使用者退出成功

 

  如果使用者選擇序號1就讓使用者輸入使用者名稱密碼然後進行判斷,正確就終止迴圈,錯誤重新輸入

while True:
    s=input("請輸入序號:")
    if s=='0':
        print("使用者退出成功")
        break
    elif s=='1':
        s1=input("請輸入使用者名稱:")
        s2= input("請輸入密碼:")
        if s1=="王哥" and s2=="123":
            print("輸入正確")
            break

 

17.三次登入:

1.讓使用者輸入三次的機會,錯一次的時候就要詢問使用者是否要繼續

2.分別判斷使用者名稱和密碼,如果使用者名稱錯誤就提示使用者錯誤,如果是密碼錯誤就提示是密碼錯誤.在輸入賬號和密碼時候不區分大小寫

3.使用格式化輸出來提示使用者所剩餘的次數

4.使用者輸入正確就提示’輸入正確’,並結束迴圈

num=0
while num<3:
    msg1=input("請輸入使用者名稱:")
    msg2=input("請輸入密碼:")
    if msg1.upper()=="GuoGe".upper() and msg2.upper()=="asfgGSDa".upper():
        print("輸入正確")
        break
    elif msg1.upper()=="GuoGe".upper() and msg2.upper()!="asfgGSDa".upper():
        print("輸入使用者名稱正確,但密碼錯誤,是否要繼續?")
        print("還剩下%s次機會"%(2-num))
    elif msg1.upper()!="GuoGe".upper() and msg2.upper() == "asfgGSDa".upper():
        print("輸入使用者名稱錯誤,密碼正確,是否要繼續?")
        print("還剩下%s次機會" % (2 - num))
    else:
        print("輸入使用者名稱和密碼都錯誤,是否要繼續?")
        print("還剩下%s次機會" % (2 - num))
    num += 1

明日默寫內容:

分別用while,for迴圈輸出字串s = input("你想輸入的內容")的每一個字元。

s=input("請輸入內容:")
num=len(s)
i=0
while i<num:
    print(s[i])
    i+=1

或者

s=input("請輸入內容:")
for n in s:
    print(n)