
正文
python相乘函数 python中相乘函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
python中九九乘法表怎么打
1、使用for-for
#九九乘法表
for i in range(1.10)
for j in range(1.i+1):
print('{}x{}={}\t'.format(j,i,i*j),end='')
print()
2、while-while
# 九九乘法表
i = 1
while i = 9:
j = 1
while(j = i): #j的大小是由i来控制的
print('%d*%d=%-3d' %(i, j, i*j),end='\t' )
j += 1
print('')
i += 1
3、while-for
i = 1
while(i =9):
for j in range (1.i+1): #range()函数左闭右开
print('%d*%d=%-3d'%(i,j,i*j),end='')
i += 1
print()
4、for-while
for i in range(1.10):
j = 0
while j i:
j += 1
print("%d*%d=%-3d"%(i,j,i*j),end='')
print()
5、定义一个变量a
a = [1. 2. 3. 4. 5. 6. 7. 8. 9]
for i in a:
j = 1
while j = i:
print('%d*%d=%-3d'%(i,j,i*j),end='\t')
# %-3d 是控制输出结果占据3位,且从左面开始对齐
j += 1
print()
6、使用1行语句
print('\n' .join([' '.join(["%2s x%2s = %2s" % (j, i, i*j)for j in range(1. i+1)])for i in range(1. 10)]))
相关问答
Q1: python 怎么把list所有元素相乘
1、代码一
from functools import reduce
reduce(lambda x,y:x*y,[1,2,3,2,2])
24
2、代码二
lst = [1, 2, 3, 4, 5]
num = 1
for i in lst:
num *= i
print num
扩展资料python相乘函数:
控制语句
if语句python相乘函数,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
for语句python相乘函数,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中python相乘函数的每个元素。
while语句,当条件为真时,循环运行语句块。
try语句,与except,finally配合使用处理在程序运行中出现的异常情况。
class语句,用于定义类型。
def语句,用于定义函数和类型的方法。
pass语句,表示此行为空,不运行任何操作。
assert语句,用于程序调试阶段时测试运行条件是否满足。
with语句,Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。
参考资料来源:百度百科-Python (计算机程序设计语言)
Q2: python里怎么求n的阶乘
解法1
数组解法牛。
首先定义一个ns数组用来存储n!的各个位数上的数值,利用for循环给ns加入10000个0值,以方便后面直接根据index对数组进行操作。
然后定义length作为 “数组的长度”(有真实数值的而非自动添加的0) 也即n!的结果的位数。
之后也必须用到for循环进行累乘,但跟解法一的直接累乘不同,这里是乘数(即i)跟各个位上的数分别相乘,若结果大于等于10则carry0即向前进一位数值为carry,若j循环结束后carry0则说明需要在当前ns的“长度”上进一位,所以length+1即位数+1,这里carry起的就是判断是否进位的作用,而length则代表着结果的位数。
n= int(input())
ns = [0 for i in range(10000) ]
n= int(input())
ns = [0 for i in range(10000) ]
length = 1
ns[0] = length = 1
if n=2:
#for i in range(2,n+1):
##carry = 0
##for j in range(length):
###temp = ns[j] * i + carry
###carry = int(temp/10)
###ns[j] = temp % 10
##while carry0:
###ns[length] += carry%10
###length+=1
###carry = int(carry/10)
while length0:
#length -=1
#print(ns[length],end='')
把# 替换为空格就可以运行。
如输入1000,计算1000!
解法2
print()
m=int(input("计算m!,请输入整数m:"))
import math
a=sum([math.log10(i) for i in range(1,m+1)])
b=int(a)
c=a-b
print(f'{m}!={10**c}*10^{b}')
Q3: python两个list相乘、相加
可以使用map函数结合zip函数。下面的代码只适用于python2
l1 = [2,2,2,2]
l2 = [3,3,3,3]
prod = map(lambda (a,b):a*b, zip(l1,l2))
print prod
# [6, 6, 6, 6]
add = map(lambda (a,b):a+b, zip(l1,l2))
print add
# [5, 5, 5, 5]
Q4: python 操作符**与*的用法
1、**两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16。
代码样例:
2、一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8。
代码样例:
3、*如果是字符串、列表、元组与一个整数N相乘,返回一个其所有元素重复N次的同类型对象,比如"str"*3将返回字符串"strstrstr"。
代码样例:
扩展资料
1、如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个字典中。
1)如定义以下函数
def func(*args):print(args)
当用func(1,2,3)调用函数时,参数args就是元组(1,2,3)
2)如定义以下函数
def func(**args):print(args)
当用func(a=1,b=2)调用函数时,参数args将会是字典{'a':1,'b':2}
2、如果是在函数调用中,*args表示将可迭代对象扩展为函数的参数列表。
1)args=(1,2,3)
func=(*args)
等价于函数调用func(1,2,3)
函数调用的**表示将字典扩展为关键字参数
2)args={'a':1,'b':2}
func(**args)
等价于函数调用 func(a=1,b=2)
参考资料
百度百科-Python
Q5: python:如何将列表中的所有项相乘
# -*- coding:utf-8 -*-
#py3
'''
用高级函数reduce()
'''
from functools import reduce
lis=[1,2,3,4,5]
r=reduce(lambda x,y:x*y,lis)#对序列lis中元素逐项相乘lambda用法请自行度娘
print(r)
reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
比方说对一个序列求和,就可以用reduce实现,比如:
from functools import reduce
def add(x,y):
return x+y
reduce(add,[1,2,3])
#结果是6
关于python相乘函数和python中相乘函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







