基礎(chǔ)
讀程序,總結(jié)程序的功能:
numbers=1
#將1賦值給numbers
for i in range(0,20): numbers*=2
#numbers自乘2把跨,總共二十次
print(numbers)
#輸出結(jié)果2e20
求2的20次方
summation=0
#將0賦值給summation
num=1
#將0賦值給num
while num<=100:
#當(dāng)num小于等于100的時(shí)候就執(zhí)行下面語(yǔ)句
if (num%3==0 or num%7==0) and num%21!=0:
summation += 1
#當(dāng)num能被三整除或者被七整除的同時(shí)不能被21整除的時(shí)候人弓,summation自加一
num+=1
#num自加一
print(summation)
#輸出summation的值
功能:求100以內(nèi)能被3整除或者被7整除的同時(shí)不能被21整除的個(gè)數(shù)
編程實(shí)現(xiàn)(for和while各寫一遍):
1.求1到100之間所有數(shù)的和、平均值
x = 0
s = 0
for x in range(1, 101):
s += x
print('1加到100的和是:%d着逐,平均值是:%.2f' % (s, s/100))
x = 100
s = 0
while x != 0:
s += x
x -= 1
print('1加到100的和是:%d崔赌,平均值是:%.2f' % (s, s/100))
#1加到100的和是:5050,平均值是:50.50
#1加到100的和是:5050耸别,平均值是:50.50
2.計(jì)算1-100之間能3整除的數(shù)的和
x = 0
s = 0
for x in range(1, 101):
if x % 3 == 0:
s += x
print('一百以內(nèi)能被三整除的數(shù)的和:%d' % s)
x = 100
s = 0
while x != 0:
if x % 3 == 0:
s += x
x -= 1
print('一百以內(nèi)能被三整除的數(shù)的和:%d' % s)
#一百以內(nèi)能被三整除的數(shù)的和:1683
#一百以內(nèi)能被三整除的數(shù)的和:1683
3.計(jì)算1-100之間不能被7整除的數(shù)的和
x = 0
s = 0
for x in range(1, 101):
if x % 7 != 0:
s += x
x -= 1
print('一百以內(nèi)能不被七整除的數(shù)的和:%d' % s)
x = 100
s = 0
while x != 0:
if x % 7 != 0:
s += x
x -= 1
print('一百以內(nèi)能不被七整除的數(shù)的和:%d' % s)
#一百以內(nèi)能不被七整除的數(shù)的和:4315
#一百以內(nèi)能不被七整除的數(shù)的和:4315
稍微困難
1.求斐波那契數(shù)列列中第n個(gè)數(shù)的值:1健芭,1,2秀姐,3慈迈,5,8省有,13痒留,21,34....
x = 0
s = 1
y = int(input())
q = 0
while True:
s = x + s
x = s - x
q += 1
if q == y:
break
print(x)
2.判斷101-200之間有多少個(gè)素?cái)?shù)蠢沿,并輸出所有素?cái)?shù)伸头。判斷素?cái)?shù)的方法:一個(gè)數(shù)分別除2到sqrt(這個(gè)數(shù)),如果能被整除舷蟀,則表明此數(shù)不是素?cái)?shù)恤磷,反之是素?cái)?shù)
i = 0
for x in range(100, 200):
z = 2
while True:
if x % z != 0:
z += 1
if z == x:
print(x)
i += 1
elif x % z ==0:
break
print('總共有%d個(gè)' % i)
3.打印出所有的水仙花數(shù),所謂水仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身野宜。例如:153是一個(gè)仙花數(shù),因?yàn)?53 = 1^3 + 5^3
for i in range(100,1000):
a = i % 10
b = i // 10 % 10
c = i // 100
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
4.有一分?jǐn)?shù)序列列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個(gè)數(shù)列列的第20個(gè)分?jǐn)?shù)分子:上一個(gè)分?jǐn)?shù)的分子加分母 分母: 上一個(gè)分?jǐn)?shù)的分子 fz = 2 fm = 1 fz+fm / fz
x = 1
y = 1
z = 20
while z != 0:
y = x + y
x = y - x
z -= 1
print(y)
5.給一個(gè)正整數(shù)扫步,要求:1、求它是幾位數(shù) 2.逆序打印出各位數(shù)字
a = input()
print(len(a), a[::-1])