python在软件测试常见的题型
1、華氏溫度轉(zhuǎn)攝氏溫度【提示:將華氏溫度轉(zhuǎn)換為攝氏溫度 F = 1.8C + 32】
h = 77 c = (h -32) / 1.8 print("攝氏溫度:",c)2.從控制臺(tái)輸入圓的半徑,計(jì)算周長(zhǎng)和面積
PI = 3.14 r = float(input("請(qǐng)輸入圓的半徑:\n")) zc = 2 * PI * r mj = PI * r * r print("圓的周長(zhǎng):%.2f \n圓的面積:%.2f" % (zc,mj))3.一輛汽車以40km/h的速度行駛,行駛了45678.9km,求所用的時(shí)間
sd = 40 lc = 45678.9 time = lc / sd print("所用時(shí)間:",time)4.從控制臺(tái)輸入兩個(gè)數(shù),輸出較大的值
a = int(input("請(qǐng)輸入一個(gè)整數(shù):\n")) b = int(input("請(qǐng)輸入第二個(gè)整數(shù):\n")) print("那個(gè)較大的值是:") if a > b:print(a) else:print(b)5.模擬玩骰子游戲,根據(jù)骰子點(diǎn)數(shù)決定什么懲罰【例如:1.跳舞,2.唱歌…】
# 1 2 3 4 5 6 # dianShu = int(input("請(qǐng)輸入得到的點(diǎn)數(shù):\n")) if dianShu > 0 and dianShu < 7:if dianShu == 1:print("跳舞")elif dianShu == 2:print("唱歌")else:print("講鬼故事") else:print("點(diǎn)數(shù)無效")6.從控制臺(tái)輸入三個(gè)數(shù),輸出較大的值 a = int(input("第一個(gè):")) b = int(input("第二個(gè):")) c = int(input("第三個(gè):")) max = a if b > max:max = b if c > max:max = c print("最大的是:",max)7.從控制臺(tái)輸入一個(gè)三位數(shù),如果是水仙花數(shù)就打印“是水仙花數(shù)”,否則打印“不是水仙花數(shù)”
#例如:153=1^3+5^3+3^3 a = 153 gw = a % 10 bw = a // 100 sw = a // 10 % 10 print(bw,sw,gw) if a == gw ** 3 + sw ** 3 + bw ** 3:print("是水仙花數(shù)") else:print("不是水仙花數(shù)")8.輸出1000以內(nèi)的所有水仙花數(shù):
水仙花數(shù):一個(gè)三位數(shù)各個(gè)位上的立方之和,等于本身。
例如: 153 = 1(3) + 5(3)+ 3(3) = 1+125+27 = 153
9、五位數(shù)中,對(duì)稱的數(shù)稱為回文數(shù),打印所有的回文數(shù)并計(jì)算個(gè)數(shù)例如:12321
num = 10000 count = 0 while num <= 99999:#判斷num是不是回文數(shù)wan = num // 10000qian = num // 1000 % 10bai = num // 100 % 10shi = num // 10 % 10ge = num % 10if wan == ge and qian == shi:print(num)count += 1num += 1 print("回文數(shù)的個(gè)數(shù)是:",count)10、實(shí)現(xiàn)一個(gè)個(gè)人所得稅計(jì)算器【提示:輸入月收入和五險(xiǎn)一金,計(jì)算個(gè)人所得稅】
#11000 120 11000-120-5000 * 0.08 gz = float(input("請(qǐng)輸入您的工資:")) bl = float(input("請(qǐng)輸入五險(xiǎn)一金的比例")) #假設(shè)扣稅比例是0.03 sds = (gz - gz * bl - 5000) * 0.03 print("您的應(yīng)繳稅:",sds)11、.假設(shè)用戶名為admin,密碼為123abc,從控制臺(tái)分別輸入用戶名和密碼,如果和已知用戶名和密碼都匹配上的話,則驗(yàn)證成功,否則驗(yàn)證失敗
name = input("請(qǐng)輸入您的用戶名:\n") pw = input("請(qǐng)輸入密碼:\n") if name == "admin" and pw == "123abc":print("驗(yàn)證成功") else:print("驗(yàn)證失敗")1.2根據(jù)(1-7)的數(shù)值不同。打印對(duì)應(yīng)的星期中文
day = int(input("請(qǐng)輸入一個(gè)1---7的數(shù)字")) if day > 0 and day < 8:if day == 1:print("星期一")elif day == 2:print("星期二")elif day == 3:print("周過半")else:print("星期后") else:print("你輸入的真的不是1--7")13、.x 為 0-99 取一個(gè)數(shù),y 為 0-199 取一個(gè)數(shù),如果 x>y 則輸出 x, 如果 x 等于 y 則輸出 x+y,否則輸出y
x = 66 y = 88 if x > y:print(x) elif x == y:print(x + y) else:print(y)14.計(jì)算1到100以內(nèi)能被7或者3整除但不能同時(shí)被這兩者整除的數(shù)的個(gè)數(shù)
count = 0 num = 1 while num <= 100:if (num % 7 == 0 or num % 3 ==0) and not (num % 3 == 0 and num % 7 ==0):count += 1num += 1 print("個(gè)數(shù):",count)15.計(jì)算從1到100以內(nèi)所有奇數(shù)的和
sum = 0 num = 1 while num <= 100:if num % 2 != 0:sum += numnum += 1 print("奇數(shù)和:",sum)16.計(jì)算從1到100以內(nèi)所有能被3或者17整除的數(shù)的和并輸出
sum = 0 num = 1 while num <= 100:if num % 3 == 0 or num % 17 == 0:sum += numnum += 1 print("從1到100以內(nèi)所有能被3或者17整除的數(shù)的和:",sum)17.求1–100之間可以被7整除的數(shù)的個(gè)數(shù)
count = 0 num = 1 while num <= 100:if num % 7 == 0:count += 1num += 1 print("1--100之間可以被7整除的數(shù)的個(gè)數(shù):",count)18、.計(jì)算1到500以內(nèi)能被7整除但不是偶數(shù)的數(shù)的個(gè)數(shù)
count = 0 num = 1 while num <= 500:if num % 7 == 0 and num % 2 != 0:count += 1num += 1 print("1到500以內(nèi)能被7整除但不是偶數(shù)的數(shù)的個(gè)數(shù):",count)19.計(jì)算從1到1000以內(nèi)所有能同時(shí)被3,5和7整除的數(shù)的和并輸出
sum = 0 num = 1 while num <= 1000:if num % 3 == 0 and num % 5 == 0 and num % 7 == 0:sum += numnum += 1 print("從1到1000以內(nèi)所有能同時(shí)被3,5和7整除的數(shù)的和:",sum)20.輸出9行內(nèi)容,第1行輸出1,第2行輸出12,第3行輸出123,以此類推,第9行輸出123456789
""" 1 12 123 1234 12345 """ hang = 1 while hang <= 9:lie = 1while lie <= hang:print(lie,end="")lie += 1print()hang += 121、打印六行七列的三角形
""".打印圖形****************六行七列1 33 24 16 0 """ hang = 1 while hang <= 6:if hang == 2 or hang == 5:print()else:if hang == 1:print(" " * 3,"*",end="")elif hang == 3:print(" " * 2, "*" * 3, end="")elif hang == 4:print(" " * 1, "*" * 5, end="")else:print(" " * 0, "*" * 7, end="")print()hang += 122、打印實(shí)心菱形
""" 打印實(shí)心菱形*************************七行七列1 3 12 2 33 2 54 0 75 5 2 * (7-hang) +16 37 1 """ hang = 1 while hang <= 7:if hang < 5:print(" " * (4 - hang),"*" * (hang * 2 - 1),end="")else:print(" " * (hang - 4),"*" * (2 * (7-hang) +1),end="")print()hang += 123、打印空菱形
""" 打印空心菱形** ** ** ** ** **1 42 3 53 2 64 1 75 2 66 3 57 4 """ hang = 1 while hang <= 7:lie = 1while lie <= 7:#完成本行內(nèi)容的打印if (hang == 1 or hang == 7) and lie == 4 or (hang == 2 or hang ==6) and (lie == 3 or lie == 5) or (hang == 3 or hang ==5) and (lie == 2 or lie == 6) or (hang == 4 and (lie == 1 or lie == 7)):print("*",end="")else:print(" ",end="")lie += 1print()#本行結(jié)束 回車hang += 1#這行結(jié)束 進(jìn)行下一行1.3000米長(zhǎng)的繩子,每天減一半,問多少天這個(gè)繩子會(huì)小于5米?不考慮小數(shù)
sc = 3000 day = 0 while sc > 5:sc = sc / 2day += 1 print("多少天:",day)24、打印等腰三角形
""" 1.打印圖形**************** ===* ==*** =***** ******* """ #四行七列 range1 = range(1,5) range2 = range(1,8) for hang in range1:for lie in range2:if lie > 4 - hang and lie <= hang + 3:print("*",end="")else:print(" ",end="")print() """ 1.打印圖形**************** ===* ==*** =***** ******* """ #四行 hang = 1 while hang <= 4:print(" "*(4 - hang),"*" * (hang * 2 - 1),end="")print()hang += 124、.從鍵盤輸入一個(gè)數(shù)n,判斷是不是一個(gè)質(zhì)數(shù)(質(zhì)數(shù)是只能被1和它自身整除的數(shù))
#素?cái)?shù) n = int(input("請(qǐng)輸入一個(gè)大于1的整數(shù):")) # 2---n-1 都整除不了 只要有一個(gè)整除就結(jié)束了 # (2,n) range1 = range(2,n) bs = True #這個(gè)標(biāo)志是標(biāo)識(shí)這個(gè)數(shù)是不是質(zhì)數(shù) for num in range1:if n % num == 0:bs = Falsebreak if bs:print("%d 是一個(gè)質(zhì)數(shù)" % (n)) else:print("%d 不是一個(gè)質(zhì)數(shù)" % (n))25、求2?100之內(nèi)的素?cái)?shù)。【素?cái)?shù) : 只能被1或本身整除的數(shù)】
range1 = range(2,100) #定義一個(gè)標(biāo)識(shí) 來記錄這個(gè)數(shù)是不是質(zhì)數(shù) for n in range1:bs = Truerange2 = range(2,n)for num in range2:if n % num == 0:#說明有數(shù)被除盡 進(jìn)一步說明這個(gè)數(shù)不是質(zhì)數(shù)bs = Falsebreak#停止這個(gè)循環(huán) 因?yàn)楹竺孀龅囊呀?jīng)沒意義了if bs:#出了循環(huán)如果沒有改變標(biāo)識(shí) 說明都沒除盡 進(jìn)一步說明這個(gè)數(shù)是質(zhì)數(shù)print(n)26、.優(yōu)化猜數(shù)字游戲
計(jì)算機(jī)出一個(gè)1~100之間的隨機(jī)數(shù)由人來猜
計(jì)算機(jī)根據(jù)人猜的數(shù)字分別給出提示大一點(diǎn)/小一點(diǎn)/猜對(duì)了,這個(gè)過程可以循環(huán)進(jìn)行
當(dāng)進(jìn)行5次以上還猜不對(duì)的話,則打印:智商余額不足
27、.逐一顯示列表l1 = [“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”]中索引為奇數(shù)的元素
l1 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"] len1 = len(l1) range1 = range(1,len1,2) for num in range1:print(l1[num],end=",")28、.將屬于列表l1 = [“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”],
但不屬于列表l2 = [“Sun”,“Mon”,“Thu”,“Fri”,“Sat”]的所有元素定義為一個(gè)新列表l3
29、.已知列表namelist=[‘stu1’,‘stu2’,‘stu3’,‘stu4’,‘stu5’,‘stu6’,‘stu7’],
刪除列表removelist=[‘stu3’, ‘stu7’, ‘stu9’];
請(qǐng)將屬于removelist列表中的每個(gè)元素從namelist中移除(屬于removelist,但不屬于namelist的忽略即可);
30、.自定義一個(gè)數(shù)字列表,獲取這個(gè)列表中的最小值,并將列表轉(zhuǎn)化為元組
list1 = [1,2,33,44,32,23] print(list1) print(min(list1)) tuple1 = tuple(list1) print(tuple1)31.自定義一個(gè)數(shù)字列表,元素為10個(gè),找出列表中最大數(shù)連同下標(biāo)一起輸出
list1 = [1,23,33,21,23,32,333,321,23,88] max = max((list1)) index = list1.index(max) print("最大數(shù):%d 下標(biāo):%d" % (max,index))32.自定義一個(gè)數(shù)字列表,求列表中第二大數(shù)的下標(biāo)
import copy list1 = [1,2,33,23,222,33,22] list2 = copy.copy(list1) print(list1) print(list2) list2.sort(reverse=True) print(list1) print(list2) secmax = list2[1] xiabiao = list1.index(secmax) print(xiabiao)33.B哥去參加青年歌手大獎(jiǎng)賽,有10個(gè)評(píng)委打分,(去掉一個(gè)最高分一個(gè)最低分)求平均分
dafen = [87,77,47,38,49,99,1,29,70,80] print(dafen) max = max(dafen) min = min(dafen) dafen.remove(max) dafen.remove(min) print(dafen) sum = 0 len1 = len(dafen) for f in dafen:sum += f pjf = sum / len1 print(pjf)34、.定義元組,存放5個(gè)學(xué)生的成績(jī)【成績(jī)值自己設(shè)定】,獲得成績(jī)之和,平均成績(jī),最小成績(jī),最大成績(jī)。
tuplecj = (88,66,77,99,55) print(tuplecj) sumcj = 0 pjcj = 0 min = min(tuplecj) max = max(tuplecj) for cj in tuplecj:sumcj += cj pjcj = sumcj / len(tuplecj) print("成績(jī)之和:%d 平均成績(jī):%.2f 最小成績(jī):%d 最大成績(jī):%d" % (sumcj,pjcj,min,max))35、.將一個(gè)列表逆序輸出
import copy list1 = [1,22,33,3,32] print(list1) for zhi in list1:print(zhi) print("*************************************************") for index in range(0,len(list1)):print(list1[len(list1)-1-index],end=",")36、.輸入某年某月某日,判斷這一天是這一年的第幾天
# 閏年 非閏年 nian = int(input("請(qǐng)輸入年份:")) yue = int(input("請(qǐng)輸入月份")) ri = int(input("請(qǐng)輸入日")) sum = 0 list = [31,28,31,30,31,30,31,31,30,31,30,31] for y in range(0,12):if y + 1 < yue:sum += list[y] sum += ri print(sum)37、給定一個(gè)列表:將列表中指定的某個(gè)元素全部刪除
list1 = [1,2,2,3,4,3,2,1] print(list1) gd = 2 len1 = len(list1) count = list1.count(gd) for i in range(0,count):list1.remove(gd) print(list1)38、自定義一個(gè)列表,最大的與第一個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組
#元素交換 # z=a a=b b=z list1 = [1,22,33,32,44,3] print(list1) max = max(list1) min = min(list1) print(max,min) maxIndex = list1.index(max) print("=======第一次交換==========") #交換1 temp = list1[0]; list1[0] = max list1[maxIndex] = temp print(list1) print("=======第2次交換==========") #交換2 minIndex = list1.index(min) temp2 = list1[len(list1)-1] list1[len(list1)-1] = min list1[minIndex] = temp2 print(list1)39、.在控制臺(tái)輸入一句英語(yǔ), 獲得每個(gè)字母出現(xiàn)的次數(shù),注:每個(gè)字符作為key,出現(xiàn)的次數(shù)作為value
# a-3 b-4 c-5 str1 = input("請(qǐng)輸入一句話:") dict1 = {} for zifu in str1:print(zifu,end=",")if zifu in dict1:#在添加這個(gè)字符之前 先判斷字典中有沒有這個(gè)字符 如果有 數(shù)量加加 如果沒有 添加字符 1進(jìn)去count = dict1.get(zifu)count += 1dict1[zifu] = countelse:dict1[zifu] = 1 print("==================遍歷結(jié)果==================") for key in dict1:print(key,dict1.get(key),end="=====")print()40、.已知列表list1 = [0,1,2,3],list2 = [‘a(chǎn)’,‘b’,‘c’,‘d’],
將list1中的元素作為key,list2中的元素作為value生成一個(gè)字典{0:‘a(chǎn)’,1:‘b’…}
41:定義一個(gè)list 求這個(gè)list的最大值和最小值不允許使用min和max
#[1,23,3,233,455,22,2] list1 = [1,23,3,233,455,22,2] #初始值一定是列表中的值 maxValue = list1[0] minValue = list1[0] for num in list1:if num > maxValue:maxValue = numif num < minValue:minValue = num print(list1) print(minValue) print(maxValue)42:定義一個(gè)list 完成冒泡排序(相鄰比較 大的放后面)
list1 = [1,23,3,233,455,22,2] print(list1) len1 = len(list1) #先寫外循環(huán) 控制比較的輪次 for i in range(0,len1):#比較的輪次一般是長(zhǎng)度-1次for j in range(0,len1 - 1 - i):#后面的范圍隨著輪次的增加而減小 j j+1if list1[j] < list1[j + 1]:temp = list1[j]list1[j] = list1[j + 1]list1[j + 1] = tempprint(list1)43:定義一個(gè)list 完成選擇排序
# [1,23,3,233,455,22,2] #選定一個(gè)位置 使用位置的值與后面的值一一比較 將最下值換到這個(gè)位置上 list1 = [1,23,3,233,455,22,2] len1 = len((list1)) #比較的值 外循環(huán)i 內(nèi)循環(huán)j for i in range(0,len1 - 1):for j in range(i+1,len1):if list1[i] > list1[j]:temp = list1[i]list1[i] = list1[j]list1[j] = tempprint(list1)44:定義一個(gè)list 完成一個(gè)一般的查找 找下標(biāo)
#[1,23,3,233,455,22,2] 找的是22 list1 = [1,23,3,233,455,22,2] key = 22 isFind = False for i in range(0,len(list1)):if list1[i] == key:print("找到了:",i)isFind = True if not isFind:print("沒找到")45:定義一個(gè)有序的list 完成一個(gè)二分查找
#[1,2,3,22,23,233,455] 找2 #定義 min max mid 每次循環(huán)計(jì)算mid #循環(huán)條件是min <= max list1 = [1,2,3,22,23,233,455] min = 0 max = len(list1) - 1 mid = 0 key = 222 isFind = False while min <= max:mid = (min + max) // 2if list1[mid] > key:#key在左面 max=mid-1max = mid - 1elif list1[mid] < key:#key在右面 min = mid+1min = mid + 1else:#找到了print("找到key:",mid)isFind = Truebreak if not isFind:print("列表中沒有",key)46.已知字符串:“this is a test of Python”
a.統(tǒng)計(jì)該字符串中字母s出現(xiàn)的次數(shù)
b.取出子字符串“test”
c.采用不同的方式將字符串倒序輸出
d.將其中的"test"替換為"exam"
47.已知字符串 a = “aAsmr3idd4bgs7Dlsf9eAF”,要求如下
a.請(qǐng)將a字符串的大寫改為小寫,小寫改為大寫
b.請(qǐng)將a字符串的數(shù)字取出,并輸出成一個(gè)新的字符串
c.請(qǐng)統(tǒng)計(jì)a字符串出現(xiàn)的每個(gè)字母的出現(xiàn)次數(shù)(忽略大小寫,a與A是同一個(gè)字母),并輸出成一個(gè)字典。 例 {‘a(chǎn)’:4,‘b’:2}
d.輸出a字符串出現(xiàn)頻率最高的字母
e.請(qǐng)判斷 'boy’里出現(xiàn)的每一個(gè)字母,是否都出現(xiàn)在a字符串里。如果出現(xiàn),則輸出True,否則,則輸 出False
總結(jié)
以上是生活随笔為你收集整理的python在软件测试常见的题型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比较喜欢的播放器KMP
- 下一篇: 实施MES管理系统前的立项分析