《Python大数据应用基础》第四章思考与练习

'''1、从键盘输入一个正整数列表,以-1结束,分别计算列表中奇数、偶数的个数与和'''
num = int(input('请输入一个正整数:'))
lst = []
while num != -1:
    lst.append(num)
    num = num = int(input('请输入一个正整数:'))
else:
    print('输入完毕!')

lst_odd = []
sum_odd = 0
lst_even = []
sum_even = 0
for i in lst:
    if i % 2 != 0:
        lst_odd.append(i)
        sum_odd = sum_odd + i
    else:
        lst_even.append(i)
        sum_even = sum_even + i

a = len(lst_odd)
print('列表中的奇数有%d个' % a)
print('奇数和为', sum_odd)
b = len(lst_even)
print('列表中的偶数有%d个' % b)
print('偶数和为', sum_even)
'''2、已知有一组已经排好序的数[3,9,14,20,25,32,45,72,80,100]。现从键盘输一个数,要求按原先的规律插入数组中。
lst=[3,9,14,20,25,32,45,72,80,100]
lst_new=[9,14,20,25,32,45,72,80,100]
n=float(input('请输入一个数:'))
if n<=3:
    lst.insert(0,n)
    print(lst)
elif n>=100:
    lst.append(n)
    print(lst)
else:
    for i in lst:
        if n>i:
            for j in lst_new:
                if n<j:
                    a=lst.index(i)
                    break
                else:
                    continue
        else:
            break
    lst.insert(a+1,n)
    print(lst)
'''3、编写程序,输入带括号的表达式,检测表达式的括号是否匹配'''
while True:
    y = input('请输入表达式:')
    if '=' in y:
        if '(' in y:
            lst = list(y)
            num1 = lst.count('(')
            if ')' in y:
                num2 = lst.count(')')
                if num1 == num2:
                    print('匹配!')
                else:
                    print('不匹配')
            else:
                print('不匹配')

        else:
            print('请输入带有括号的表达式!')
    else:
        print('输入的不是表达式!')
    ans=input('是否继续输入?y/n')
    if ans=='y':
        continue
    else:
        break
'''4、从键盘输入一行字符,统计其中每个字符出现的次数'''
'''利用字典,键值对 键:字符 值:出现的次数'''
while True:
    s = input('请输入一行字符:')
    lst = list(s)   #将字符转为列表
    d={}
    for i in lst:
       if i not in d:
           d[i]=1
       else:
           d[i]+=1
    for key,value in d.items():
        print(key,'出现了',value,'次')

    ans = input('是否继续输入?y/n')
    if ans == 'y':
        continue
    else:
        break
'''5、随机生成N个介于1-1000的整数,N由用户从键盘输入。重复的数字只保留一个,将这些数从小到大排序,并打印输出。'''
import random

N = int(input('请输入一个整数:'))
num = set()  # 使用集合,因为集合中的元素是不能重复的
while True:
    n = random.randint(1, 1000)
    num.add(n)
    if len(num) == N:  # 一直添加到指定个数为止
        break
    else:
        continue
# 下面排序
lst = list(num)
lst.sort()
print(lst)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值