wuna 发表于 2022-9-9 16:26:03

python题目

问题1:自己写段代码,生成123456789个随机数,并以空格隔开
问题2:自己写段代码,对自己刚才生成随机数的代码加上进度条(百分比或剩余时间)

zhangjinxuan 发表于 2022-9-9 16:26:04

本帖最后由 zhangjinxuan 于 2022-10-24 21:12 编辑

问题1:特别简单,使用randint函数轻松搞定:
from random import randint
lis = []
def init_list():
    for i in range(0, 123456789):
      lis.append(randint(0, 100)) #生成随机数并且加入列表
def show_list():
    for i in lis: #打印列表
      print(i, end = ' ') #end设置为空格
init_list()
show_list()

觉得麻烦可以整合一下:
from random import randint
lis = []
def init_and_show_list():
    for i in range(0, 123456789):
      tmp = randint(0, 100)
        lis.append(tmp)
        print(tmp, end = ' ')
init_and_show_list()

问题二:有一点数学功底应该可以做出来:
from random import randint
lis = []
def init_list():
    for i in range(0, 123456789):
      print(int(i/123456789*100), end = '%\n') #因为程序运行时间不确定,只能百分比实现.先求出当前是123456789的几分之几,再乘100
      lis.append(randint(0, 100))
    print("100%")
def show_list():
    for i in lis:
      print(i, end = ' ')
init_list()
show_lisst()

zfxsdhr 发表于 2022-9-10 09:32:38


fcage 发表于 2022-9-10 14:05:51

from random import randint


def solution1():
    for i in range(123456789):
      print(f"\r{randint(0, 100)}", end=' ')# 题目没给随机数的范围
      # 如果需要存数组,前面定一个列表,在这不断append就行了


def solution2():
    for i in range(123456789):
      print(f"{randint(0, 100)} {round((i+1)*100/123456789, 2)}%", end='') # 指定2位小数


solution1()
solution2()

# 说实话题目不明确,没有指定需要输出什么,以什么样的形式,所以不好给出更好的代码

zhangjinxuan 发表于 2022-10-24 21:11:29

哈哈哈,我的注释怎么是C语言的注释啊,改改...
页: [1]
查看完整版本: python题目