1. 程式人生 > 其它 >Python-字串相關面試題及答案

Python-字串相關面試題及答案

"""
1.1交換

已知 a的值為”hello”,b的值為”world”,如何交換a和b的值?
得到a的值為”world”,b的值為”hello”
"""
a = "hello"
b = "world"
a,b = b,a
print(a)
print(b)


"""
1.2迴文

迴文的定義:”迴文” 就是正讀倒讀都一樣的。
如奇數個:”98789”,這個數字正讀是”98789” 倒讀也是”98789”。
偶數個數字”3223”也是迴文數。
字母 “abcba” 也是迴文。
判斷一個字串是否是迴文字串,是列印True, 不是列印False
"""
def my_func():
    x 
= input("請輸入任意字串: ") if x == x[::-1]: return True else: return False print(my_func()) """ 1.3字串切割 已知一個字串為 “hello_world_vivi”, 如何得到一個佇列 [“hello”,”world”,”vivi”] """ a = "hello_world_vivi" b = a.split("_") print(b) """ 有個列表 [“hello”, “world”, “vv”]如何把把列表裡面的字串聯起來, 得到字串 “hello_world_vv”
""" """ 1、列表裡的元素必須都是字串型別的才可以使用join()拼接 2、返回的是一個字串 """ a =["hello","world","vv"] print("_".join(a)) #執行結果 :hello_world_vv """ 1.5替換字元 把字串 s 中的每個空格替換成”%20” 輸入:s = “We are happy.” 輸出:”We%20are%20happy.” """ s = "We are happy." print(s.replace(" ","%20")) #執行結果 :We%20are%20happy. """ 1.6九九乘法表 程式碼示例: 列印99乘法表
""" for i in range(1,10): for j in range(1,i+1): print("{}*{}={}\t".format(i,j,i*j),end="") print() """ 1.8 統計字元出現的次數 統計字串“Hello, welcome to my world.” 中字母w出現的次數 統計單詞 my 出現的次數 """ s = "Hello,welcome to my world" print(s.count('w')) print(s.count('my')) #執行結果 :w: 2次 ,my :1次 """ 1.9 統計每個字元出現的次數 題目:輸入一個字串str, 輸出第m個只出現過n次的字元,如在字串 gbgkkdehh 中, 找出第2個只出現1 次的字元,輸出結果:d """ from collections import Counter m = 2 n = 1 s = "agbgkkdehh" b = Counter(s) print(dict(b)) x = [i for i ,j in dict(b).items() if j==n] print(x[m-1]) """ 1.10 判斷字元a含b 判斷字串a=”welcome to my world” 是否包含單詞b=”world” """ a = "welcome to my world" if "world" in a: print("True") else: print("False") """ 1.11 查詢字元首次出現位置 輸出指定字串A在字串B中第一次出現的位置,如果B中不包含A,則輸出-1 從 0 開始計數 A = “hello” B = “hi how are you hello world, hello vv !” """ A = "hello" B = "hi how are you hello world,hello vv" print(B.find(A)) """ 1.12 查詢字串最後一次出現位置 輸出指定字串A在字串B中最後出現的位置,如果B中不包含A,則輸出-1 從 0 開始計數 A = “hello” B = “hi how are you hello world, hello vv !” """ A = "hello" B = "hi how are you hello world,hello vv" print(B.rfind(A)) """ 1.13判斷奇數偶數 給定一個數a,判斷一個數字是否為奇數或偶數 a1 = 13 a2 = 10 a = 13 """ a =0 if a % 2 ==0: print("偶數") else: print("奇數") a = 10 print("我是偶數" if a % 2==0 else "我是奇數") """ 1.14判斷一個姓名是否姓王 輸入一個姓名,判斷是否姓王 a = “王五” b = “老王” """ a = "王五" print("姓王" if a[:1]=="" else "不姓王") a = "老王" if a[:1] =="": print("姓王") else: print("不姓王") """ 1.15判斷是不是數字 如何判斷一個字串是不是純數字組成 a = “123456” b = “vivi123” """ a = "123456" print("這是一個純數字" if a.isnumeric() is True else "不是純數字") b = "vivi123" print("這不是一個純數字組合" if b.isnumeric() is False else "這是一個純數字組合") """ 1.16字串大小寫轉換 將字串 a = “This is string example….wow!” 全部轉成大寫 字串 b = “Welcome To My World” 全部轉成小寫 """ a = "This is string example...wow" print(a.upper()) b = "Welcome To My World" print(b.lower()) """ 1.17字串去掉首尾空格 將字串 a = “ welcome to my world “首尾空格去掉 """ a = " welcome to my world " print(a.strip()) """ 1.18字串去掉左邊指定空格或字元 將字串a = “ welcome to my world !”左邊的空格去掉 """ a = " welcome to my world !" print(a.lstrip()) """ 1.19字串去掉右邊指定空格或字元 將字串a = “ welcome to my world ! “右邊的空格去掉 """ a = " welcome to my world ! " print(a.rstrip()) """ 1.20 去除字串裡面所有的空格 將字串a = “ welcome to my world ! “裡面的所有空格都去掉 """ a = " welcome to my world ! " print(a.replace(" ","")) """ 1.21字串去重後排序 s = “ajldjlajfdljfddd”,去重並從小到大排序輸出”adfjl” """ s ="ajldjlajfdljfddd" print("".join(sorted(dict.fromkeys(s)))) """ 1.22字串去重保留順序 s = “ajldjlajfdljfddd”,去重保留原來的順序,輸出”adfjl” """ s ="ajldjlajfdljfddd" print("".join([x for x in dict.fromkeys(s)])) """ 1.23畫菱形 題目 打印出如下圖案(菱形): """ #(1,3,5,7,5,3,1) line = 7 lines = (line+1) // 2 print(lines) stars = [x*2+1 for x in range(lines)] + [x*2-1 for x in range(lines-1,0,-1)] print(a) for star in stars: kong = (line - star) // 2 print(" "*kong + "*" * star) """ 1.24 輸入一個正整數,判斷是幾位數 題目 給一個不多於5位的正整數,要求: 一、求它是幾位數, 二、逆序打印出各位數字。 a = 12345 """ a = 12345 print(len(str(a))) print(str(a)[::-1])