格式化时间值
Formatting a time value
在下面的程序中,我返回一个布尔值和一个表示元组中执行时间的值:
import time
# O(n) time
def isAnagram1(s1, s2):
start = time.time()
letterlist1 = [0] * 26
letterlist2 = [0] * 26
for i in xrange(0, len(s1)):
pos = ord(s1[i]) - ord('a')
letterlist1[pos] = letterlist1[pos] + 1
for i in xrange(0, len(s2)):
pos = ord(s2[i]) - ord('a')
letterlist2[pos] = letterlist2[pos] + 1
for i in xrange(0, 26):
if letterlist1[i] != letterlist2[i]:
end = time.time()
return False, end-start
end = time.time()
return True, end-start
pass
def main():
str1 = input("Enter string 1: ")
str2 = input("Enter string 2: ")
print "Is Anagram1: %s, "
"Operation required %10.7f seconds" % isAnagram1(str1, str2)
但是,在调用此函数时,我需要将时间值转换为浮点值,以便正确打印出来。如果不是,它会给出错误:TypeError: not all arguments converted during string formatting。我想我必须找到一种方法来获取表示转换的执行时间的单个值。
如有任何帮助,我们将不胜感激。
您缺少用于续行的“\”。所以你有一个 print
语句,它将只打印文字 "Is Anagram1: %s, "
。下一行是 Python 尝试求值的单独表达式。
您还需要使用 raw_input
因为这是 Python2
这里是固定的main
函数
def main():
str1 = raw_input("Enter string 1: ")
str2 = raw_input("Enter string 2: ")
print "Is Anagram1: %s, " \
"Operation required %10.7f seconds" % isAnagram1(str1, str2)
在下面的程序中,我返回一个布尔值和一个表示元组中执行时间的值:
import time
# O(n) time
def isAnagram1(s1, s2):
start = time.time()
letterlist1 = [0] * 26
letterlist2 = [0] * 26
for i in xrange(0, len(s1)):
pos = ord(s1[i]) - ord('a')
letterlist1[pos] = letterlist1[pos] + 1
for i in xrange(0, len(s2)):
pos = ord(s2[i]) - ord('a')
letterlist2[pos] = letterlist2[pos] + 1
for i in xrange(0, 26):
if letterlist1[i] != letterlist2[i]:
end = time.time()
return False, end-start
end = time.time()
return True, end-start
pass
def main():
str1 = input("Enter string 1: ")
str2 = input("Enter string 2: ")
print "Is Anagram1: %s, "
"Operation required %10.7f seconds" % isAnagram1(str1, str2)
但是,在调用此函数时,我需要将时间值转换为浮点值,以便正确打印出来。如果不是,它会给出错误:TypeError: not all arguments converted during string formatting。我想我必须找到一种方法来获取表示转换的执行时间的单个值。
如有任何帮助,我们将不胜感激。
您缺少用于续行的“\”。所以你有一个 print
语句,它将只打印文字 "Is Anagram1: %s, "
。下一行是 Python 尝试求值的单独表达式。
您还需要使用 raw_input
因为这是 Python2
这里是固定的main
函数
def main():
str1 = raw_input("Enter string 1: ")
str2 = raw_input("Enter string 2: ")
print "Is Anagram1: %s, " \
"Operation required %10.7f seconds" % isAnagram1(str1, str2)