python在软件测试常见的题型

1、华氏温度转摄氏温度【提示:将华氏温度转换为摄氏温度 F = 1.8C + 32】

h = 77
c = (h -32) / 1.8
print("摄氏温度:",c)

2.从控制台输入圆的半径,计算周长和面积

PI = 3.14
r = float(input("请输入圆的半径:\n"))
zc = 2 * PI * r
mj = PI * r * r
print("圆的周长:%.2f \n圆的面积:%.2f" % (zc,mj))

3.一辆汽车以40km/h的速度行驶,行驶了45678.9km,求所用的时间

sd = 40
lc = 45678.9
time = lc / sd
print("所用时间:",time)

4.从控制台输入两个数,输出较大的值

a = int(input("请输入一个整数:\n"))
b = int(input("请输入第二个整数:\n"))
print("那个较大的值是:")
if a > b:
    print(a)
else:
    print(b)

5.模拟玩骰子游戏,根据骰子点数决定什么惩罚【例如:1.跳舞,2.唱歌…】

# 1 2 3 4 5 6
#
dianShu = int(input("请输入得到的点数:\n"))
if dianShu > 0 and dianShu < 7:
    if dianShu == 1:
        print("跳舞")
    elif dianShu == 2:
        print("唱歌")
    else:
        print("讲鬼故事")
else:
    print("点数无效")

6.从控制台输入三个数,输出较大的值
a = int(input("第一个:"))
b = int(input("第二个:"))
c = int(input("第三个:"))
max = a
if b > max:
    max = b
if c > max:
    max = c
print("最大的是:",max)

7.从控制台输入一个三位数,如果是水仙花数就打印“是水仙花数”,否则打印“不是水仙花数”

#例如: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("是水仙花数")
else:
    print("不是水仙花数")

8.输出1000以内的所有水仙花数:
水仙花数:一个三位数各个位上的立方之和,等于本身。
例如: 153 = 1(3) + 5(3)+ 3(3) = 1+125+27 = 153

num = 1
while num < 1000:#此处判断的是num是不是水仙花数
  if num > 99:
      bw = num // 100
      sw = num // 10 % 10
      gw = num % 10
      #print(bw,sw,gw)
      if num == bw ** 3 + sw ** 3 + gw ** 3:
          print("--",num)
  num += 1

9、五位数中,对称的数称为回文数,打印所有的回文数并计算个数例如:12321


num = 10000
count = 0
while num <= 99999:
    #判断num是不是回文数
    wan = num // 10000
    qian = num // 1000 % 10
    bai = num // 100 % 10
    shi = num // 10 % 10
    ge = num % 10

    if wan == ge and qian == shi:
        print(num)
        count += 1
    num += 1
print("回文数的个数是:",count)

10、实现一个个人所得税计算器【提示:输入月收入和五险一金,计算个人所得税】


#11000  120  11000-120-5000 * 0.08
gz = float(input("请输入您的工资:"))
bl = float(input("请输入五险一金的比例"))
#假设扣税比例是0.03
sds = (gz - gz * bl - 5000) * 0.03
print("您的应缴税:",sds)

11、.假设用户名为admin,密码为123abc,从控制台分别输入用户名和密码,如果和已知用户名和密码都匹配上的话,则验证成功,否则验证失败

name = input("请输入您的用户名:\n")
pw = input("请输入密码:\n")
if name == "admin" and pw == "123abc":
    print("验证成功")
else:
    print("验证失败")

1.2根据(1-7)的数值不同。打印对应的星期中文

day = int(input("请输入一个1---7的数字"))
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 取一个数,y 为 0-199 取一个数,如果 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.计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数

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 += 1
    num += 1
print("个数:",count)

15.计算从1到100以内所有奇数的和

sum = 0
num = 1
while num <= 100:
    if num % 2 != 0:
        sum += num
    num += 1
print("奇数和:",sum)

16.计算从1到100以内所有能被3或者17整除的数的和并输出

sum = 0
num = 1
while num <= 100:
    if num % 3 == 0 or num % 17 == 0:
        sum += num
    num += 1
print("从1到100以内所有能被3或者17整除的数的和:",sum)

17.求1–100之间可以被7整除的数的个数

count = 0
num = 1
while num <= 100:
    if num % 7 == 0:
        count += 1
    num += 1
print("1--100之间可以被7整除的数的个数:",count)

18、.计算1到500以内能被7整除但不是偶数的数的个数

count = 0
num = 1
while num <= 500:
    if num % 7 == 0 and num % 2 != 0:
        count += 1
    num += 1
print("1到500以内能被7整除但不是偶数的数的个数:",count)

19.计算从1到1000以内所有能同时被3,5和7整除的数的和并输出

sum = 0
num = 1
while num <= 1000:
    if num % 3 == 0 and num % 5 == 0 and num % 7 == 0:
        sum += num
    num += 1
print("从1到1000以内所有能同时被3,5和7整除的数的和:",sum)

20.输出9行内容,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789

"""
1
12
123
1234
12345
"""
hang = 1
while hang <= 9:
    lie = 1
    while lie <= hang:
        print(lie,end="")
        lie += 1
    print()
    hang += 1

21、打印六行七列的三角形

""".打印图形
        *

       ***
      *****

     *******
     六行七列
     1   3
     3   2
     4   1
     6   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 += 1

22、打印实心菱形

"""
打印实心菱形
     *
    ***
   *****
  *******
   *****
    ***
     *
     七行七列
     1   3  1
     2   2  3
     3   2  5
     4   0  7
     5      5      2 * (7-hang) +1
     6      3
     7      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 += 1

23、打印空菱形

"""
打印空心菱形

     *
    * *
   *   *
  *     *
   *   *
    * *
     *
    1  4
    2  3 5
    3  2 6
    4  1 7

    5  2 6
    6  3 5
    7  4
"""
hang = 1
while hang <= 7:
    lie = 1
    while lie <= 7:#完成本行内容的打印
        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 += 1
    print()#本行结束 回车
    hang += 1#这行结束 进行下一行

1.3000米长的绳子,每天减一半,问多少天这个绳子会小于5米?不考虑小数

sc = 3000
day = 0
while sc > 5:
    sc = sc / 2
    day += 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 += 1

24、.从键盘输入一个数n,判断是不是一个质数(质数是只能被1和它自身整除的数)


#素数
n = int(input("请输入一个大于1的整数:"))
# 2---n-1  都整除不了 只要有一个整除就结束了
# (2,n)
range1 = range(2,n)
bs = True #这个标志是标识这个数是不是质数
for num in range1:
    if n % num == 0:
        bs = False
        break
if bs:
    print("%d 是一个质数" % (n))
else:
    print("%d 不是一个质数" % (n))

25、求2〜100之内的素数。【素数 : 只能被1或本身整除的数】

range1 = range(2,100)
#定义一个标识 来记录这个数是不是质数
for n in range1:
    bs = True
    range2 = range(2,n)
    for num in range2:
        if n % num == 0:#说明有数被除尽 进一步说明这个数不是质数
            bs = False
            break#停止这个循环 因为后面做的已经没意义了
    if bs:#出了循环如果没有改变标识 说明都没除尽 进一步说明这个数是质数
        print(n)

26、.优化猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了,这个过程可以循环进行
当进行5次以上还猜不对的话,则打印:智商余额不足

import random
range1 = range(1,100)
sjs =random.choice(range1);
print(sjs)
#循环的条件是在范围内
#使用随机数跟边界值比较
# = start  = end
# 1 2 3 4 5
count = 1
while True:
    if count > 5:
        print("下次再来。。。。。这个游戏不好玩")
        break
    caiDeShu = int(input("请输入您猜的值:"))
    if caiDeShu > sjs:
        print("大了")
    elif caiDeShu < sjs:
        print("小了")
    else:
        print("恭喜你猜对了")
        break
    count += 1

27、.逐一显示列表l1 = [“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”]中索引为奇数的元素

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”]的所有元素定义为一个新列表l3

l1 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]
l2 = ["Sun","Mon","Thu","Fri","Sat"]
l3 = []
print(l1)
print(l2)
#先遍历l1 遍历过程中判断值是否在l2中存在 如果不存在 加到l3里面
for num in l1:
   if num not in l2:
       l3.append(num)
print(l3)

29、.已知列表namelist=[‘stu1’,‘stu2’,‘stu3’,‘stu4’,‘stu5’,‘stu6’,‘stu7’],
删除列表removelist=[‘stu3’, ‘stu7’, ‘stu9’];
请将属于removelist列表中的每个元素从namelist中移除(属于removelist,但不属于namelist的忽略即可);

namelist=['stu1','stu2','stu3','stu4','stu5','stu6','stu7']
removelist=['stu3', 'stu7', 'stu9']
print(namelist)
print(removelist)
#将删除的元素在原列表中进行判断 如果存在就删除
for name in removelist:
    if name in namelist:
        namelist.remove(name)
print(namelist)

30、.自定义一个数字列表,获取这个列表中的最小值,并将列表转化为元组

list1 = [1,2,33,44,32,23]
print(list1)
print(min(list1))
tuple1 = tuple(list1)
print(tuple1)

31.自定义一个数字列表,元素为10个,找出列表中最大数连同下标一起输出

list1 = [1,23,33,21,23,32,333,321,23,88]
max = max((list1))
index = list1.index(max)
print("最大数:%d 下标:%d" % (max,index))

32.自定义一个数字列表,求列表中第二大数的下标

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哥去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高分一个最低分)求平均分

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个学生的成绩【成绩值自己设定】,获得成绩之和,平均成绩,最小成绩,最大成绩。

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("成绩之和:%d 平均成绩:%.2f 最小成绩:%d 最大成绩:%d" % (sumcj,pjcj,min,max))

35、.将一个列表逆序输出

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("请输入年份:"))
yue = int(input("请输入月份"))
ri = int(input("请输入日"))
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、给定一个列表:将列表中指定的某个元素全部删除

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、自定义一个列表,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组

#元素交换
# 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、.在控制台输入一句英语, 获得每个字母出现的次数,注:每个字符作为key,出现的次数作为value

# a-3 b-4 c-5
str1 = input("请输入一句话:")
dict1 = {}
for zifu in str1:
    print(zifu,end=",")
    if zifu in dict1:#在添加这个字符之前 先判断字典中有没有这个字符 如果有 数量加加 如果没有 添加字符 1进去
        count = dict1.get(zifu)
        count += 1
        dict1[zifu] = count
    else:
        dict1[zifu] = 1
print("==================遍历结果==================")
for key in dict1:
    print(key,dict1.get(key),end="=====")
    print()

40、.已知列表list1 = [0,1,2,3],list2 = [‘a’,‘b’,‘c’,‘d’],
将list1中的元素作为key,list2中的元素作为value生成一个字典{0:‘a’,1:‘b’…}

list1 = [0,1,2,3]
list2 = ['a','b','c','d']
dict1 = dict(zip(list1,list2))
for key in dict1:
   print(key,dict1.get(key))

41:定义一个list 求这个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 = num
    if num < minValue:
        minValue = num
print(list1)
print(minValue)
print(maxValue)

42:定义一个list 完成冒泡排序(相邻比较 大的放后面)

list1 = [1,23,3,233,455,22,2]
print(list1)
len1 = len(list1)
#先写外循环 控制比较的轮次
for i in range(0,len1):#比较的轮次一般是长度-1次
    for j in range(0,len1 - 1 - i):#后面的范围随着轮次的增加而减小 j j+1
        if list1[j] < list1[j + 1]:
            temp = list1[j]
            list1[j] = list1[j + 1]
            list1[j + 1] = temp
    print(list1)

43:定义一个list 完成选择排序

#	[1,23,3,233,455,22,2]
#选定一个位置 使用位置的值与后面的值一一比较 将最下值换到这个位置上
list1 = [1,23,3,233,455,22,2]
len1 = len((list1))
#比较的值  外循环i  内循环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] = temp
    print(list1)

44:定义一个list 完成一个一般的查找 找下标

#[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:定义一个有序的list 完成一个二分查找

#[1,2,3,22,23,233,455]   找2
#定义 min max mid 每次循环计算mid
#循环条件是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) // 2
    if list1[mid] > key:#key在左面 max=mid-1
        max = mid - 1
    elif list1[mid] < key:#key在右面 min = mid+1
        min = mid + 1
    else:#找到了
        print("找到key:",mid)
        isFind = True
        break
if not isFind:
    print("列表中没有",key)

46.已知字符串:“this is a test of Python”
a.统计该字符串中字母s出现的次数
b.取出子字符串“test”
c.采用不同的方式将字符串倒序输出
d.将其中的"test"替换为"exam"

str1 = "this is a test of Python"
counts = 0
for ch in str1:
    if ch == 's':
        counts += 1
print("s出现的次数:",counts)
str2 = "test"
index = str1.index(str2)
print(index)
jieguo = str1[index:index + 5]
print(jieguo)
#c.采用不同的方式将字符串倒序输出
list1 = []
for ch1 in str1:
    list1.append(ch1)
print(list1)
list1.reverse();
print(list1)
strdx = ""
for i in list1:
    strdx += i
print(strdx)
#d.将其中的"test"替换为"exam"
jg = str1.replace("test","exam")
print(jg)

47.已知字符串 a = “aAsmr3idd4bgs7Dlsf9eAF”,要求如下
a.请将a字符串的大写改为小写,小写改为大写
b.请将a字符串的数字取出,并输出成一个新的字符串
c.请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {‘a’:4,‘b’:2}
d.输出a字符串出现频率最高的字母
e.请判断 'boy’里出现的每一个字母,是否都出现在a字符串里。如果出现,则输出True,否则,则输 出False

a = "aAsmr3idd4bgs7Dlsf9eAF"
print(a)
x = a.swapcase()
print(x)
x2 = ""
for i in a:
    if i.isdigit():
        x2 += i
print(x2)
#c.请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {'a':4,'b':2}
a1 = "aAsmr3idd4bgs7Dlsf9eAF"
a2 = a1.lower()
print(a2)
dict1 = {}
for ch in a2:
    count = 1
    if ch in dict1:
        count = dict1.get(ch)
        count += 1
    dict1[ch] = count
print(dict1)
#d.输出a字符串出现频率最高的字母
maxCount = 0
#先找到最大次数
for value in dict1.values():
    if value > maxCount:
        maxCount = value
keyx = 0
#根据最大次数再找到key
for key,value in dict1.items():
    if value == maxCount:
        keyx = key
        break
print("最大次数的字母是:",keyx)
print("次数是:",maxCount)
#a = "aAsmr3idd4bgs7Dlsf9eAF"
#e.请判断 'boy'里出现的每一个字母,是否都出现在a字符串里。如果出现,则输出True,否则,则输 出False
y1 = "idf"
a11 = "aAsmr3idd4bgs7Dlsf9eAF"
x11 = 0
for i in y1:
    if i in a11:
        x11 += 1
    else:
        print(False)
        break
if x11 == len(y1):
    print(True)
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值