相信你一眼就能看出 210和 215 哪个数字更大,以及210和 310 的比较结果。但是对于一些底数和指数都不相同的两个数字,例如39和 56,该如何比较它们的大小呢?
请编写一个函数,接收两个由[底数, 指数]
格式表示的数字,比较它们之间的大小。如果第一个数字较大则返回-1,如果它们相等则返回0,否则返回1。
示例:
输入: [2,10],[2,15]
,返回:1
输入: [3,9],[5,6]
,返回:-1
题目难度:中等
题目来源:CodeWars:Compare powers
def solution(n1: list, n2: list) -> int:
# your code
assert solution([2,10], [2,15]) == 1
assert solution([2,10], [2,10]) == 0
assert solution([3,9],[5,6]) == -1
def solution(n1: list, n2: list) -> int:
if n1[0] ** n1[1] > n2[0] ** n2[1]:
return -1
elif n1[0] ** n1[1] == n2[0] ** n2[1]:
return 0
else:
return 1
assert solution([2, 10], [2, 15]) == 1
assert solution([2, 10], [2, 10]) == 0
assert solution([3, 9], [5, 6]) == -1
nobugs
3
def solution(n1: list, n2: list) -> int:
return -1 if n1[0] ** n1[1] > n2[0] ** n2[1] else 0 if n1[0] ** n1[1] == n2[0] ** n2[1] else 1
assert solution([2, 10], [2, 15]) == 1
assert solution([2, 10], [2, 10]) == 0
assert solution([3, 9], [5, 6]) == -1
def solution(n1: list, n2: list) -> int:
print(n1[0] ** n1[1], n2[0] ** n2[1])
if n1[0] ** n1[1] > n2[0] ** n2[1]:
return -1
elif n1[0] ** n1[1] == n2[0] ** n2[1]:
return 0
else:
return 1
assert solution([2, 10], [2, 15]) == 1
assert solution([2, 10], [2, 10]) == 0
assert solution([3, 9], [5, 6]) == -1
tatsu
(tatsu)
5
def solution(n1: list, n2: list) -> int:
if pow(n1[0],n1[1]) == pow(n2[0],n2[1]):
return 0
elif pow(n1[0],n1[1]) > pow(n2[0],n2[1]):
return -1
else:
return 1
assert solution([2,10], [2,15]) == 1
assert solution([2,10], [2,10]) == 0
assert solution([3,9],[5,6]) == -1
Mooii
6
def solution(n1: list, n2: list) -> int:
if n1[0] ** n1[1] > n2[0] ** n2[1]:
return -1
elif n1[0] ** n1[1] == n2[0] ** n2[1]:
return 0
else:
return 1
assert solution([2,10], [2,15]) == 1
assert solution([2,10], [2,10]) == 0
assert solution([3,9],[5,6]) == -1
def solution(n1: list, n2: list) -> int:
# your code
num1 = n1[0] ** n1[1]
num2 = n2[0] ** n2[1]
if num1 > num2:
return -1
elif num1 == num2:
return 0
else:
return 1
assert solution([2, 10], [2, 15]) == 1
assert solution([2, 10], [2, 10]) == 0
assert solution([3, 9], [5, 6]) == -1
Kawi
8
def solution(n1: list, n2: list) -> int:
return 0 if pow(n1[0], n1[1]) == pow(n2[0], n2[1]) else 1 if pow(n1[0], n1[1]) < pow(n2[0], n2[1]) else -1
assert solution([2, 10], [2, 15]) == 1
assert solution([2, 10], [2, 10]) == 0
assert solution([3, 9], [5, 6]) == -1
import math
def solution5(x:list,y:list):
if x[0]>0 and y[0]>0:
if math.pow(x[0],x[1])>math.pow(y[0],y[1]):
return -1
elif math.pow(x[0],x[1])<math.pow(y[0],y[1]):
return 1
elif math.pow(x[0],x[1])==math.pow(y[0],y[1]):
return 0
else:
raise ValueError
assert solution5([2,10], [2,15]) == 1
assert solution5([2,10], [2,10]) == 0
assert solution5([3,9],[5,6]) == -1
Huis
10
def solution(n1: list, n2: list) -> int:
a0,a1 = n1[0],n1[1]
a = a0**a1
b0,b1 = n2[0],n2[1]
b = b0**b1
if a < b: return 1
elif a > b: return -1
else: return 0
lekaixin
(ALe阿乐)
11
def solution(n1: list, n2: list) -> int:
if n1[0] ** n1[1] > n2[0] ** n2[1]:
return -1
elif n1[0] ** n1[1] == n2[0] ** n2[1]:
return 0
else:
return 1
assert solution([2, 10], [2, 15]) == 1
assert solution([2, 10], [2, 10]) == 0
assert solution([3, 9], [5, 6]) == -1