题目:
- 计算1+2+3……+100:
- 从键盘输入两个正整数x和y,计算x和y的最大公约数:
- 计算10!
- 计算并输出Fibonacci数列(1,1,2,3,5,8……)前20项:
- 计算三位数中所有的水仙花数:
- 从键盘输入一个大于1的整数N,判断N是否为素数:
- 从键盘输入一串字符,删除其中空格输出:
- 从键盘输入一串字符,统计其中字母个数:
答案:
1.
2.
x=int(input("请输入x:"))
y=int(input("请输入y:"))
n=1
if x>y:
min=y
else:
min=x
for i in range(1,min+1,1):
if x%i==0 and y%i==0:
n=i
print(n)
3.
n=1
for i in range(1,11,1):
n*=i
print(n)
结果:3628800
4.
(注意end的用法,若单引号内为逗号,则结果以逗号分开:1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,)
alist=[1,1]
for i in range(2,20,1):
alist.append(alist[i-1]+alist[i-2])
for i in range(20):
print(alist[i],end=' ')
结果:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
5.
for i in range(100,1000,1):
a=i//100 #百位
b=i//10%10 #十位
c=i%10 #个位
if i==a**3+b**3+c**3:
print(i,end=',')
结果:
153,370,371,407,
6.
非函数做法:
import math
N=int(input("请输入一个大于一的整数N:"))
for i in range(2,int(math.sqrt(N))+1,1): #(跳出for循环的原因可能因为不是素数,也可能因为i已经等于int(math.sqrt(N)))
if N%i==0:
print("N不是素数")
break
if i>int(math.sqrt(N)): #不是i>=****注意 加判断条件判断跳出for循环原因
print("N是素数")
函数做法:
def f():
import math
N=int(input("请输入一个大于一的整数N:"))
for i in range(2,int(math.sqrt(N))+1,1):
if N%i==0:
return("N不是素数")
return("N是素数")
7.
(replace 方法:返回根据正则表达式进行文字替换后的字符串的复制。
stringObj.replace(a, b)
stringObj
必选项。要执行该替换的 String 对象或字符串文字。该字符串不会被 replace 方法修改。
a
必选项。为包含正则表达式模式或可用标志的正则表达式对象。也可以是 String 对象或文字。如果 rgExp 不是正则表达式对象,它将被转换为字符串,并进行精确的查找;不要尝试将字符串转化为正则表达式。
b
必选项。是一个String 对象或字符串文字,对于stringObj 中每个匹配 rgExp 中的位置都用该对象所包含的文字加以替换。在 Jscript 5.5 或更新版本中,replaceText 参数也可以是返回替换文本的函数。b->a a被b替换
)
a=input("请输入一串字符(含空格):")
print("输入的一串字符为:",a)
b=a.replace(" ","")
print(b)
结果:
请输入一串字符(含空格):asd fg h
输入的一串字符为: asd fg h
asdfgh
8.
a=str(input("输入一串字符:"))
n=0
for i in a:
if i.isalpha():
n=n+1
print(n)