基础练习

1、统计’gvbsduifgjkdbgfjgjksgbfjsgu1234’中每一个字符出现的次数。

str3='gvbsduifgjkdbgfjgjksgbfjsgu1234'
count = {}
for item in str3:
    if item not in count:
        count[item] = 1
    else:
        count[item] += 1
for k,v in count.items():
    print("字符:", k, "\t","出现次数:", v)

结果:
字符: g 出现次数: 6
字符: v 出现次数: 1
字符: b 出现次数: 3
字符: s 出现次数: 3
字符: d 出现次数: 2
字符: u 出现次数: 2
字符: i 出现次数: 1
字符: f 出现次数: 3
字符: j 出现次数: 4
字符: k 出现次数: 2
字符: 1 出现次数: 1
字符: 2 出现次数: 1
字符: 3 出现次数: 1
字符: 4 出现次数: 1

2、用户输入月份,判断这个月是哪个季节 。
分析: 3,4,5月----春季 6,7,8----夏季 9,10,11—秋季 12,1,2----冬季

a = int(input('请输入1至12中的任意一个月份:'))
if (3 <= a <= 5):
    print(a, '月是春季')
elif (6 <= a <= 8):
    print(a, '月是夏季')
elif (9 <= a <= 11):
    print(a, '月是秋季')
else:
    print(a, '月是冬季')

结果:
请输入1至12中的任意一个月份:3
3 月是春季

3、假定有下面的列表: names = [‘fentiao’,‘fendai’,‘fensi’,‘apple’] 输出结果为:‘I have fentiao, fendai, fensi and apple.’

names = ['fentiao', 'fendai', 'fensi', 'apple']
print('\'' + 'I have ' + ','.join(names[0:3]) + ' and ' + names[3] + '.' + '\'')

结果:
‘I have fentiao,fendai,fensi and apple.’
4、设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以 下功能: 提供10道加、减、乘或除四种基本算术运算的题目; 练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。

true = 0
option = ['+', '-', '*', '/']
for i in range(0, 10):
    math = random.choice(option)
    a = random.randint(0, 100)
    b = random.randint(1, 100)
    print('%.2f%s%.2f=' % (a, math, b))
    answer = str(input('请输入您的答案:'))
    if (math == '+'):
        result = a + b
    elif (math == '-'):
        result = a - b
    elif (math == '*'):
        result = a * b
    else:
        result = ('%.2f' % (float(a / b)))
    if answer == str(result):
        print('回答正确!!!')
        true += 1
        i += 1
    elif answer == 'exit':
        break
    else:
        print('回答错误!!!')
        i += 1
if i == 0:
    accuracy = 0
else:
    accuracy = true / i
print('您共回答%d道题,回答正确个数为%d,回答错误个数为%d,正确率为%.2f%%' % (i, true, i - true, accuracy * 100))

结果:
57.00+94.00=
请输入您的答案:151
回答正确!!!
56.00+62.00=
请输入您的答案:118
回答正确!!!
1.00+69.00=
请输入您的答案:70
回答正确!!!
33.00/37.00=
请输入您的答案:0.89
回答正确!!!
25.00*62.00=
请输入您的答案:1550
回答正确!!!
47.00/83.00=
请输入您的答案:0.57
回答正确!!!
46.00/68.00=
请输入您的答案:0.68
回答正确!!!
19.00-59.00=
请输入您的答案:-40
回答正确!!!
54.00+43.00=
请输入您的答案:97
回答正确!!!
62.00+57.00=
请输入您的答案:119
回答正确!!!
您共回答10道题,回答正确个数为10,回答错误个数为0,正确率为100.00%

5、有两个有序整型数组:A和B,都是从小到大排列,要求把A和B合并成数组C,且C也是有序的,例如A=[1,3,5,7…],B=[2,4,6,8…],合并成C=[1,2,3,4,5,6,7,8…],请写一个方法尽可能高效率来实现(注:不调用系统提供的函数)

def sort(A,B):
    C = A + B
    print('A和B合并后的数组是:', A + B)
    # 插入排序
    for i in range(1, len(C)):
        temp = C[i]
        j = i - 1
        while (j >= 0 and C[j] > temp):
            C[j + 1] = C[j]
            j = j - 1
            C[j + 1] = temp
    print('合并后的数组C是:C=', C)
if __name__ == '__main__':
    sort([1, 3, 5, 7, 9],[2, 4, 6, 8, 10])

结果:
A和B合并后的数组是: [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]
合并后的数组C是:C= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

6、将字符串"K:1|K1:2|K2:3|K3:4",处理成python字典 {‘K’: 1, ‘K1’: 2, …}

str1 = "K:1|K1:2|K2:3|K3:4"
list1 = str1.split('|')
dic = {}
for item in list1:
    key = item.split(":")[0]
    value = int(item.split(":")[1])
    dic[key] = value
print('处理后的字典是:', dic)

结果:
处理后的字典是: {‘K’: 1, ‘K1’: 2, ‘K2’: 3, ‘K3’: 4}

7、有两个tuple(‘A’, ‘B’, ‘C’, ‘D’), (1, 2, 3, 4),如何将这两个tuple合并为一个字典?

tuple1 = ('A', 'B', 'C', 'D')
tuple2 = (1, 2, 3, 4)
dic = {}
for i in range(0, len(tuple1)):
    key = tuple1[i]
    value = tuple2[i]
    dic[key] = value
print('处理后的字典是:', dic)

结果:
处理后的字典是: {‘A’: 1, ‘B’: 2, ‘C’: 3, ‘D’: 4}

8、一个整数数组中的元素有正有负,在该数组中找出一个连续子数组,要求该连续子数组中各元素的和最大,这个连续子数组称作最大连续子数组,然后返回该和值即可,比如数组{2, 4, -7, 5, 2, -1, 2, -4, 3}的最大连续子数组为{ 5, 2, -1, 2},最大连续子数组的和为5+2-1+2=8

def MaxSum(array):
    CurSum = 0
    Sum = 0
    for i in range(0, len(array)):
        if (CurSum <= 0):
            CurSum = array[i]
        else:
            CurSum += array[i]
        if (CurSum > Sum):
            Sum = CurSum
    return Sum

if __name__ == '__main__':
    ret = MaxSum([2, 4, -7, 5, 2, -1, 2, -4, 3])
    print('最大连续子数组的和:', ret)

结果:
最大连续子数组的和: 8

9、请写出一段python代码实现删除一个list里面的重复元素。

def Delete(list1):
    return list(set(list1))
if __name__ == '__main__':
    ret = Delete([1, 1, 2, '2', 5, 5, 7, 3, 7, '22', 14, 56, 72])
    print('去重后的列表为:', ret)

结果:
去重后的列表为: [1, 2, 3, ‘22’, 5, ‘2’, 7, 72, 14, 56]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值