python中随机生成10-99的整数,构成一个5×5的矩阵,显示完整矩阵,并将矩阵转置后显示出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中随机生成10-99的整数,构成一个5×5的矩阵,显示完整矩阵,并将矩阵转置后显示出来相关的知识,希望对你有一定的参考价值。
参考技术A使用numpy 简单的很
import numpy as npimport random
before = np.array([[random.randint(10, 99) for i in range(5)] for j in range(5)])
result = before.T
print(result) 参考技术B #coding=utf-8
import random
from numpy import *
temp_list = []
for i in range(5*5):
if i % 5 == 0:
tt = []
tt.append(random.randint(10,95))
if i % 5 == 4:
temp_list.append(tt)
m = mat(temp_list)
print m
print "----------------------------"
y=transpose(m)
print y追问
但是为什么运行出来的不是5×5的矩阵,是这样的
m
--------------
y
matrix=random.randint(0,10,(5,5))
print(matrix)
print(matrix.T)
怎么用python生成随机的且不重复的整数?
我只知道random.randint(0,10)这种,但是会生成重复的数字。
怎么用python在指定范围内生成随机的且不重复的整数?
v假如你排列的是个数组1,2,3,4,5
列数假如也是5 也就是5*5的矩阵
然后让5个数组都随机生成 然后排序
如果两个临近数据相同或相近 这两个数据就是挨着的好像这样:
0:1,2,3,4,5
1:2,3,4,5,1
2:2,3,5,1,4
3:2,3,5,1,4
4:2,3,5,4,1
那么生成完之后就可以经过一次遍历 把邻近两个进行比较
如果相同就重新生成一个 或者先标记 之后再去
需要用到random模块
import random
n = random.randint(1,10)
会生成一个1到10的随机整数。
插入列表即可
[].append(n)
就好了。你可以做个循环。比如for循环,不断插就好了。
参考技术A
一楼思路正确,但是python的random库中已经提供了现成的函数,不需要那么麻烦。random.sample(list, n)即是从list中随机选取n个不同的元素。
楼主可以试试下面的代码。
import random
for i in range(4):
print random.sample([1, 2, 3, 4, 5, 6, 7, 8], 8)
for i in range(4):
print random.sample(range(10), 10)
for i in range(4):
print random.sample(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], 7) 参考技术B import random
print 'N must >K else error'
n=int(raw_input("n="))
k=int(raw_input("k="))
result=[]
x=range(n)
for i in range(k):
t=random.randint(i,n-1)
temp=x[i]
x[i]=x[t]
x[t]=temp
result.append(x[i])
print result
raw_input('Inpuy AnyKey to exit')
你看下吧 N是范围 K是生成的数量本回答被提问者采纳 参考技术C l = []
for i in range(10):
r = random.randint(0,10)
while r in l:
r = random.randint(0,10)
l.append(r)
print r
以上是关于python中随机生成10-99的整数,构成一个5×5的矩阵,显示完整矩阵,并将矩阵转置后显示出来的主要内容,如果未能解决你的问题,请参考以下文章