我试图定义一个函数CountXSeconds
,对于给定的整数值X,它将创建一个字符串,解释在计算秒数时需要大声说出的内容。例如
CountXSeconds(3)
应该给出输出
“一千。两千。3一千“
这是我得到的最接近的一个,但我找不到一种方法来包含字符串“一千”而不出错:
def main():
CountXSeconds()
def CountXSeconds():
n = int(input("What is your number?" ))
if n >= 1:
print(*range(1,n+1))
if __name__ == "__main__": main()
这里有一个解决你的问题的解决方案,但代码足够高明,在这个级别上作为家庭作业的答案看起来很奇怪:
解释!在
lambda x: "%d one thousand." % x
将接受一个数字x
,并在x=1时输出字符串"1 one thousand"
。在%
运算符是string.format的快捷方式。现在解释起来有点太多了,但这里的意思是“在%d
所在的地方插入x
的值”。在map
函数是在一行中编写完整的for
循环的奇特方法。它接受一个函数和一个列表,并将该函数应用于列表中的每个项。在' '.join
是Python的一个特性。它所做的是获取一个列表,并通过在每个项之间放置空格将其转换为字符串。您可能会认为它是在列表中调用的函数,但在Python中,它是字符串上的函数。在这里有一个更清晰的版本:
^{pr2}$这里是你可以使用的。根据应该键入的值,最好有更好的用户输入验证和更具信息量的消息。在
相关问题 更多 >
编程相关推荐