第一题:
a、b、c均表示一个1-9的数字,且它们组成的两位数和四位数满足以下条件:
(cc)2 + (ab)2 = abcc
注意:(cc)2 + (ab)2 = abcc。 2代表平方哦
请分别求出a、b、c。
第二题:
写一个函数用来生成一个含有m行n列的正整数小于100的随机整数的列表
第一题答案
for a in '123456789': for b in '123456789': for c in '123456789': if int(c + c) ** 2 + int(a + b) ** 2 == int(a + b + c + c): print(a, b, c)
第二题解答:
涉及到数组,最好的办法就是numpy库了。numpy库的.random.randint(low[, high, shape])方法——根据shape创建随机整数或整数数组,范围是[low, high),可以一步到位解决问题。
由于题目要求最后的数据类型是是列表,所以还需要用array.tolist()方法将数组ndarray类型转换为列表。
源代码:
import numpy as np def randomArray(m, n): arr = np.random.randint(1, 100, (m, n)) return arr.tolist() #创建一个包含有小于100的正整数的3行5列的列表。 print(randomArray(3, 5))
运行结果:
[[72, 6, 98, 40, 5], [66, 29, 92, 85, 38], [5, 12, 30, 71, 62]]
或者使用列表生成的方式做法
import random def randomArray(m, n): return [[random.randint(1,100) for _ in range(n)] for _ in range(m)] print (randomArray(3,5))