我对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函数但不知道如何做到这一点。请帮帮我:(
答案 0 :(得分:3)
这是一个非常基本的程序,所有上述内容都包含在基本的python本身中。
您应该浏览以下链接,例如Bytes of Python,LearnPython等
有更多教程供您参考并开始使用..
此行接受来自用户的输入
In [8]: n = raw_input("Enter a number : ")
Enter a number : 5
这一行迭代了值1到12的值,在python中我们可以使用范围函数。
range(1, 13)
是因为范围函数在最后一个值之前停止了。
%s是字符串格式化语法,类似于C,最后int(n)
是coz输入是字符串格式,需要在乘法发生之前将其转换为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
答案 1 :(得分:0)
x = raw_input('Enter a number: ')
for i in range(1,12):
print int(x)*i
但是你应该检查x是否真的是一个数字;)
答案 2 :(得分: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
答案 3 :(得分: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)
答案 4 :(得分:0)
这是一个难以理解的oneliner,适合推文,因为为什么不:
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)))