1.实现从n个a减到1个a(eg:aaaaa-aaaa-aaa-aa-a)
'''
输入两个整数a(大于等于1且小于等于9)和n(大于等于1且小于等于80),编程求得并输出下面等式的值:
'''
s=input()
ns=s.split()
a=ns[0]
n=ns[1]
lst=[]
for i in range(1,int(n)+1):
lst.append(a*i)
lst.reverse()
sum=int(lst[0])
for j in lst[1:]:
sum-=int(j)
print(sum)
2.以列表构建列表,列表中的数字由它所处的位置决定
'''
编写一个程序,以2位数字X,Y作为输入,生成一个二维列表。列表的第i行和第j列中的元素值是i*j。
注意:i= 0,1 . .,X - 1; j = 0, 1,..,Y-1
'''
x,y=eval(input())
lst=[]
lst1=[]
for i in range(x):
for j in range(y):
lst1.append(i*j)
lst.append(lst1)
lst1=[]
print(lst)
3.判读是否符合电话号码的格式
'''
假设电话号码的模式为:3个数字,一个短横线,4个数字,一个短横线和4个数字。如:186-7123-4567。编写程序,用以检查输入的字符串是否匹配电话号码模式,若匹配返回True,否则返回False
'''
s=input()
n1=s[0:3]
n2=s[3]
n3=s[4:8]
n4=s[8]
n5=s[9:13]
if n1.isdigit() and n2=="-" and n3.isdigit() and n4=="-" and n5.isdigit():
print(True)
else:
print(False)
4.哥德巴赫猜想
'''
证明在偶数n以内,歌德巴赫猜想是成立的。歌德巴赫猜想是:任何一个充分大的偶数都可以表示为两个素数之和。例如,4=2+2 6=3+3 8=3+5 50=3+47
'''
def is_sushu(a):
for i in range(2,a):
if a % i == 0:
return False
else:
return True
n=int(input())
for i in range(4,n+1,2):
for j in range(2,i):
if is_sushu(j)==True and is_sushu(i-j)==True and j <= (i-j):
print(f"{i}={j}+{i-j}")
break
5.亲密数(注意看亲密数的条件,a的因子之和是b,b的因子之和是a,那么称a与b是亲密数,且a!=b)
'''
求整数n以内(含n)的全部亲密数。
说明:如果正整数A的全部因子(包括1,不包括A本身)之和等于B;且正整数B的全部因子(包括1,不包括B本身)之和等于A,A不等于B,则将正整数A和B称为亲密数。
1不和其他数形成亲密数。
编写函数sumElem(),实现统计一个数字的因子之和(包括1,不包括A本身)
'''
def sumElem(a):
sum=1
for i in range(2,a):
if a % i == 0:
sum+=i
return sum
def is_sushu(a):
for i in range(2,a):
if a % i == 0:
return False
else:
return True
n=int(input())
d={}
temp=[x for x in range(4,n+1) if is_sushu(x)==False]
for j in temp:
k=sumElem(j)
if j==k or k not in temp:
continue
if sumElem(k)==j and j < k :
d[j]=k
temp.remove(j)
for m,n in d.items():
print(m,n)
6.统计任一一串字符串中的单词个数,且输出单词(一开始以为要用双指针的思想,发现第一个指针的位置老是要动,所以只好引入一个k,来记住单词的长度,双指针的思想不知道在这里能不能用,如果有大佬看到的话,希望大佬能够指点一下)
'''
输入任意一行字符串,含有数字和非数字字符以及空格等,如:
df23A?45d0@
输出其中数字和字母出现的个数
如果将其中所有连续出现的字母视为一个单词,要求统计在该字符串中共有多少个单词,并将这些数依次输出。
'''
s=input()
sz=0
zm=0
dc=0
ns=""
for i in s:
if i.isnumeric():
sz+=1
elif i.isalpha():
zm+=1
n=0
k=0
n2=0
while n<= (len(s)-1):
if s[n].isalpha():
k=k+1
n+=1
else:
if s[n-1].isalpha():
n2=n
ns=ns+s[n2-k:n2]+" "
n+=1
dc+=1
k=0
else:
n+=1
if s[len(s)-1].isalpha():
dc+=1
ns=ns+s[n-k:]
print(sz)
print(zm)
print(dc)
if dc>0:
print(ns)