我想知道如何通过变量使用python 2.7.9中的10eX表示法。在文字方面,10eX表示(10^X).00000(浮点数)。我想使用一些变量而不是文字,但是,它不起作用。如果可以这样做,我应该做什么语法上的更改,或者有其他方法可以这样做吗?提前感谢!
T = int(raw_input())
while T:
N = int(raw_input())
LIS = map(int,raw_input().split())
num_lis, num = []*N, []*N
low = int(10e+(N))
high = int(10e+(N+1))
temp, count = 0, 0
for i in xrange(low,high):
num_lis = [1]*N
temp = i
while temp!=0:
r = temp%10
num[high-1-i] = r
temp=temp/10
for p in xrange[1,N]:
for q in xrange(0,p):
if num[q]<num[p]:
if num_lis[p]<(num_lis[q]+1):
num_lis[p]=num_lis[q]+1
if LIS[p]!=num_lis[p]:
break
else:
count++
print count
T-=1
在运行解释器时,我收到错误- 10e(N):无效语法
发布于 2017-01-23 01:44:40
10e+4
是10 * 10^4
的符号,而不是操作。你必须使用幂运算符:
low = 10 ** (N+1)
high = 10 ** (N+2)
发布于 2017-01-23 01:55:41
像10e3
这样的东西是一个浮点型的文字。您可以将其创建为字符串,然后使用float()
将其转换为数字(如果希望将该数字转换为整数,则使用int(float())
):
>>> N = raw_input()
3
>>> float("10e"+N)
10000.0
>>> #compare:
>>> 10e3
10000.0
使用@Daniel的答案可能会更好,但上面的答案似乎更接近于您试图使用int(10e+(N))
做的事情,因为您显式地询问了依赖于变量的文字。
https://stackoverflow.com/questions/41794135
复制相似问题