2020年1月14日
4、输出10行内容,每行的内容都是第一行10个,第二行9个,第三行8个。。。。最后一行1个星
for i in range(10,0,-1):
print("*"*i)
>>> for i in range(10,0,-1):
... print("*"*i)
...
**********
*********
********
*******
******
*****
****
***
**
*
>>>
5、输出9行内容,,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789
result=""
for i in range(1,10):
result+=str(i)
print(result)
>>> result=""
>>> for i in range(1,10):
... result+=str(i)
... print(result)
...
1
12
123
1234
12345
123456
1234567
12345678
123456789
6、计算2的20次方。不允许用**和pow()
result=2
for n in range(20):
result*=2
print(result)
执行结果:
>>> result=2
>>> for n in range(20):
... result*=2
...
>>> result
2097152
>>>
统计字母的个数
方法一:
s = "Askfr1212kk!000@@999"
letter_num=0
for c in s:
if c.isalpha():
letter_num[c]=s.count(c)
print(letter_num)
统计字符串中字母、数字、其它类型的数量
方法一
s = "Askfr1212kk!000@@999"
letter_num=0
num=0
punc_num=0
for c in s:
if c.isalpha():
letter_num+=1
elif c.isdigit():
num+=1
else:
punc_num+=1
print("字母有:%s个,数字有:%s个,其它字符有:%s个"%(letter_num,num,punc_num))
执行结果:
>>> print("字母有:%s个,数字有:%s个,其它字符有:%s个"%(letter_num,num,punc_num))
字母有:7个,数字有:10个,其它字符有:3个
>>>
>>>
46、求1+2!+3!+...+20!的和。
def fac(n):
if n==1:
return 1
else:
return n*fac(n-1)
result=0
for i in range(1,21):
print(fac(i))
result+=fac(i)
print("和为:",result)
执行结果:
...
1
2
6
24
120
720
5040
40320
362880
3628800
39916800
479001600
6227020800
87178291200
1307674368000
20922789888000
355687428096000
6402373705728000
121645100408832000
2432902008176640000
>>> print("和为:",result)
和为: 2561327494111820313
>>>
47、利用递归方法求8!。
def fac(n):
if n==1:
sum=1
else:
sum=n*fac(n-1)
return sum
print(fac(8))
执行结果:
>>> print(fac(8))
40320