Python(四)Python练习

练习1:

"""

# 数字重复统计:
    1). 随机生成1000个整数;
    2). 数字的范围[20, 100],
    3). 升序输出所有不同的数字及其每个数字重复的次数

"""
import random

# (1)创建一个容器保存数字
list1 = []
# (2)随机产生1000个数字保存在列表中
for i in range(1000):
    list1.append(random.randint(20, 100))
# (3)对生成好的1000个数进行排序(没有要求去重),然后加到子字典里
sort_num = sorted(list1)
print(sort_num, type(sort_num))
# print(type(sort_num))
# (4)产生字典-->key(元素);value(count的次数)
dict_num = {}
# 说明利用了list的特性
for num in sort_num:
    if num in dict_num:
        # 存在之后就是根据键修改值!
        dict_num[num] += 1
    # 第一次肯定不存在,就是添加字典元素!
    else:
        dict_num[num] = 1
print(dict_num)

练习2:

"""
# 1. 随机生成100个卡号;
#     卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100),
# 2. 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat";

# 3. 输出卡号和密码信息, 格式如下:
   卡号                  密码
6102009001              000000

"""
# print({}.fromkeys({'1','2'},'0000000'))

card_ids =[]
# 生成100个卡号
for i in range(100):
    # %.3d:代表整型数占3位-->核心!
    s = '6102009%.3d' %(i+1)
    # 将每次生成的卡号都加入到列表中!
    card_ids.append(s)

#多对一的映射(第一个可以是任意类型的参数)
card_ids_dict = {}.fromkeys(card_ids,'redhat')
print(card_ids_dict)
print('卡号\t\t\t\t\t密码')
for key in card_ids_dict:
    print('%s\t\t\t%s' %(key,card_ids_dict[key]))

练习3:

# (1)求f=1+2+...+9 -->作为铺垫!

sum = 0
for i in range(1, 10):
    sum += i
print(sum)

# (2)求f=1-2+3-4+...+9 [体会如何一正一负地累加]

sum = 0
for i in range(1, 10):
    sum += i * ((-1) ** (i - 1))
    print(sum)
print(sum)

#  求f=1-1/2+1/3-1/4+...+1/9 [正负分数的叠加]
sum = 0
for i in range(1, 10):
    sum += 1 / (i * ((-1)) ** (i - 1))
print(sum)

# 求f=1!-2!+3!-4!+...+9![自然数的阶乘叠加-->过渡到正负】

sum = 0
j = 1
for i in range(1, 10):
    j = j * i
    # print(j)
    sum += j * ((-1) ** (i - 1))
    # print(sum)

练习4:

"""

求s=a+aa+aaa+aaaa+aa...a的值

"""
# 4,5-->(a,n)
# 模拟--->4 + 44 + 444 + 4444
sum = 0
add = 0
for i in range(0, 4):
    # (1)每个元素
    add = add * 10 + 4
    # (2)进行累加
    sum += add
    # print(sum)
print(sum)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值