-6

我对 python 非常陌生,所以我的问题可能看起来有点过于琐碎,但相信我,它现在对我来说就像火箭科学。所以,就在这里。我必须创建一个程序来读取包含整数的单行用户输入,并打印出该数字的倍数,最多为该数字的 12 倍。例如:

输入一个数字:3

3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30
3 x 11 = 33
3 x 12 = 36

我想我必须使用 for 和 range 函数,但不知道该怎么做。请帮我 :(

4

5 回答 5

3

这是一个非常基本的程序,以上所有内容都包含在基本的python本身中。

您应该浏览以下链接,例如Bytes of PythonLearnPython

还有更多教程供您阅读并开始使用。

此行接受用户的输入

In [8]: n = raw_input("Enter a number : ")
Enter a number : 5

此行遍历值 1 到 12 的集合,在 python 中,我们可以为此使用 range 函数。

range(1, 13)有没有因为它范围功能在最后一个值之前停止..

%s 是字符串格式化语法,类似于 C,最后int(n)是因为输入是字符串格式,需要在乘法发生之前将其转换为 int

In [9]: for i in range(1,13):
   ...:     print "%s x %s = %s" %(n, i, i*int(n))
   ...:
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
5 x 11 = 55
5 x 12 = 60
于 2012-08-27T08:36:51.003 回答
0
x = raw_input('Enter a number: ')
for i in range(1,12):
   print int(x)*i

但是你应该检查 x 是否真的是一个数字;)

于 2012-08-27T08:36:36.110 回答
0
>>> inp=int(raw_input('enter an integer'))
enter an integer 5
>>> for i in xrange(1,13):         #use range() if you're on python 3.x
...   print "{0} X {1} = {2}".format(inp,i,inp*i)
... 
5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45
5 X 10 = 50
5 X 11 = 55
5 X 12 = 60
于 2012-08-27T08:40:20.953 回答
0
var = raw_input("Enter something: ")
print "you entered ", var

for n in range(1, 10):
    prod = int(var)*n
    print str(var) + " X " + str(n) + " = "  + str(prod)
于 2012-08-27T08:40:50.580 回答
0

这是一个适合推文的难以理解的单行线,因为为什么不:

import itertools;print"\n".join("%d x %d = %d"%(x+(x[0]*x[1],))for x in itertools.product([int(raw_input("Enter a number : "))],range(1,13)))
于 2012-08-27T08:52:06.783 回答