练习:生成100个随机正整数

156 篇文章 3 订阅


生成100个随机正整数


   CSDN“每日一练”(python)题目。

  1. 题目
  2. 代码运行效果
  3. 完整代码
  4. 优化代码

练习题目

在这里插入图片描述


回首页

代码运行效果

在这里插入图片描述
在这里插入图片描述


回首页

python完整代码
# coding: utf-8
import random #加载随机数模块。


'''生成100个2位数随机正整数,\
每十个打印一行,并统计个位是0~9的个数'''

nums = [random.randint(10, 99) for i in range(100)] \
#列表解析生成100个随机正整数。
count = {i: 0 for i in range(10)} #个位统计字典初始化。
for i in nums: count[i%10] = count.get(i%10) + 1 #统计个位个数。
print(f'\n\n\n{"生成100个随机正整数":_^34}\n\n\n{" ":6}', end = '')
for j, i in enumerate(nums): #枚举遍历100个正整数。
    print(i, end = ' ') #不换行打印。
    if (j + 1)%10 == 0: #逢10换行。
        print(f'\n{" ":6}', end = '')
print('\n\n正整数个位个数统计:\n')
print(f'{" ":4}', end = '')
for i in range(10): #打印个位统计情况。
    print(f'{i}:{count.get(i):3}', end = '   ')
    if (i + 1)%4 == 0:
        print(f'\n{" ":4}', end = '')
print(f'\n\n{"The End":_^42}')
  先生成100随机正整数,再统计个位个数,再打印。都遍历两次100正整数了。

  直接在生成时打印和统计,一次完成不用遍历100随机正整数,效率应该高些吧。🤓

在这里插入图片描述
在这里插入图片描述


(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)

优化代码
# coding: utf-8
import random #加载随机数模块。


'''生成100个2位数随机正整数,\
每十个打印一行,并统计个位是0~9的个数'''

count = {i: 0 for i in range(10)} #个位统计字典初始化。
print(f'\n\n\n{"生成100个随机正整数":_^34}\n\n\n{" ":6}', end = '')
for i in range(100): #遍历~)0次。
    num = random.randint(10, 99) \
    #生成随机正整数。
    print(num, end = ' ') #不换行打印。
    if (i + 1)%10 == 0: #逢10换行。
        print(f'\n{" ":6}', end = '')
    k = num%10
    count[k] = count.get(k) + 1 #累加统计个位个数。
print('\n\n正整数个位个数统计:\n')
print(f'{" ":4}', end = '')
for i in range(10):
    print(f'{i}:{count.get(i):3}', end = '   ')
    if (i + 1)%4 == 0:
        print(f'\n{" ":4}', end = '')
print(f'\n\n{"The End":_^42}')

回首页

我的博文推荐:

推荐条件 点阅破千

参考文章:


上一篇:list.sort() 方法可以用函数作 key 的参数
下一篇:让QQ群昵称色变的神奇代码


回首页

老齐漫画头像

精品文章:

来源:老齐教室


CSDN实用技巧博文:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻精灵_cq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值