python 生成包含100个两位数随机整数的元组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 生成包含100个两位数随机整数的元组相关的知识,希望对你有一定的参考价值。
python 生成包含100个两位数随机整数的元组统计每个数出现的次数
#! usr/bin/python# -*- coding:utf-8 -*-
#python 2.7
# 分解需求
#1.生成2位数 随机数 那么就是random.randint(10, 99)
#2.生成100 个那么就是 for i in range(100)
import random
random_tuple = tuple(random.randint(10, 99) for i in range(100))
print random_tuple
#字典 dict_num='数字':'出现的次数'
dict_num=
for i in random_tuple:
if dict_num.get(i):
dict_num[i]+=1
else:
dict_num[i]=1
print dict_num 参考技术A 1、给出9到10之间的随机实数:import random,a = random.uniform(9,10),print(a)。
2、从9、19、29、39、……、99之间,随机选取一个实数:import random,a = random.randrange(9, 100, 10),print(a)。
3、从列表[5,6,7,8,9]里面,随机选取一个数:import random,a = random.choice([5,6,7,8,9]),print(a)。
4、从一个字符串里面,随机选取一个字符:import random,a = random.choice("从一个字符串里面,随机选取一个字符!"),print(a)。 参考技术B from random import randint
from collections import Counter
result = tuple(randint(10, 99) for i in range(100))
count = Counter(result)
for num in count:
print '%2d: %d' % (num, count[num])追问
你能截图发给我吗
运行结果
我没有编译器
本回答被提问者采纳 参考技术C a=(25,)[0]a,=(25,)两种都可以。 参考技术D 这个算法描述怎么写用户定义的函数来计算出现的随机生成的列表包含一个以n开头的整数
一般来说是python和编程的新手。我编写了一个函数来生成一个没有重复项的随机列表和许多其他可调用函数来计算该列表中的内容(例如,中位数,平均值,平均值,赔率,%n等)
问题:
- 编写一个函数来计算以1和1开头的整数数
- 编写一个函数来计算以1结尾的整数数
我的代码是
import random
def fill(nx, x, y):
lx = []
j = 0
while (j < nx):
randNum = random.randint(x, y)
if randNum not in lx:
lx.append(randNum)
j = j + 1
return lx
def digit1x(lx):
#some kind of count
cnt_1x = 0
#loop to iterate lx?
for i in lx: # not sure what to really do from here
if i ==
return 0
def digitx1(lx):
# same problem
return 0
def sum(lx):
s=0
for i in lx:
s+=i
return s
Calling the Functions
n = 25
a = 10
b = 60
myList = fill(n, a, b)
print(myList)
Output
[32, 27, 57, 17, 14, 55, 29, 42, 23, 12, 11, 47, 60, 41, 31, 20,
21, 26, 56, 35, 30, 44, 54, 10, 50]
Sum == 844
Minimum 10
Maximum == 60
Average == 33.76
Expected
x = digit1x(myList)
print("10 the number of integers that start with the digit 1 == ", x)
output: "...==" 5
y = digitx1(myList)
print("11 the number of integers that end with the digit 1 == ", y)
output:"...==" 4
答案
def digit1x(lx):
return len([i for i in lx if str(i)[0]=='1'])
def digitx1(lx):
return len([i for i in lx if str(i)[-1]=='1'])
如果你缺乏内存和处理资源:
def digit1x(lx):
return sum(1 for i in lx if i%10==1])
def digitx1(lx):
return sum(1 for i in lx if i/(10**int(math.log(i,10)))==1)
在这种情况下,您将避免字符串转换并仅使用一些快速计算。您还使用生成器作为总和,因此不会创建额外的列表。
另一答案
这应该做的工作
def count1(lx):
return len([i for i in lx if i%10==1])
以上是关于python 生成包含100个两位数随机整数的元组的主要内容,如果未能解决你的问题,请参考以下文章
Python随机产生10个70-100的数并输出,找出其中的最小值及其第一次出现的位置?
随机生成100个0到200的整数 用折半查找法(二分法)查找50是初始数据的第几个数, 并输出查找过程(即和什么数进行了比较)。