基础
1.读程序,总结程序的功能:
numbers = 1
for i in range(0,20):
numbers*=2
print(numbers)
功能:计算2的20次方,并打印出这个数
summation=0
num=1
while num<=100:
if(num%3==0 or num%7==0) and num%2 != 0:
summation += 1
num +=1
print(summation)
功能:找出1~100间能被3或者7整除但不能被2整除的数,并打印这样数的个数
编程实现(for和while各写一遍)
1.求1到100之间所有数的和、平均值
for循环:
sum = 0
for x in range(1,101):
sum += x
average = sum / 100
print(sum,average)
while循环:
count = 1
sum = 0
while count <= 100:
sum += count
average = sum / 100
print(sum,average)
2.计算1-100之间的能被3整除的数的和
for循环:
sum = 0
for x in range(1,101):
if not x % 3:
sum += x
print(sum)
while循环:
count = 1
sum = 0
while count <= 100:
if not count % 3:
sum += count
count += 1
print(sum)
3.计算1-100之间的不能被7整除的数的和
for循环:
sum = 0
for x in range(1,101):
if x % 7:
sum += x
print(sum)
while循环:
count = 1
sum = 0
while count <= 100:
if count % 7:
sum += count
count += 1
print(sum)
稍微困难
1.求斐波那契数列中第n个数的值:1,1,2,3,5,8,13,21,34...
a = 0;b = 1
n = 7
for x in range(n-1):
a,b = b,a+b
print('第%d个斐波那契数是%d'%(n,b))
运行结果:
第7个斐波那契数是13
[Finished in 0.2s]
2.判断101-200之间有多少个素数,并输出所有素数。判断素数的方法:用一个数分别除sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数
import math
count = 0
for n in range(101,201):
for i in range(2,int(math.sqrt(n))+1):
if n % i == 0:
break
else:
count += 1
print(n,end = ' ')
print('101-200之间有%d个素数'%(count))
运行结果:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
101-200之间有21个素数
[Finished in 0.3s]
3.打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数的立方和等于该数本身。例如:153是一个水仙花数,因为153 = 1^3 + 5^3 + 3^3
for x in range(100,1000):
bai = x//100
shi = x//10%10
ge = x%10
if x == (bai**3 + shi**3 + ge**3):
print(x)
运行结果:
153
370
371
407
[Finished in 0.3s]
4.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数的第20个分数
分子:上一个分数的分子加分母 分母:上一个分数的分子 fz = 2 fm = 1 fz+fm/fz
fz = 2
fm = 1
for x in range(1,20):
fz,fm = fz+fm,fz
print('第20个分数:%d/%d'%(fz,fm))
运行结果:
第20个分数:17711/10946
[Finished in 0.3s]
5.给一个正整数,要求:1、求它是几位数 2.逆序打印出各位数字
num = 123
str = str(num)
length = len(str)
print('它是%d位数'%(length))
print(str[::-1])
运行结果:
它是一个3位数
321
[Finished in 0.3s]