读程序,总结程序的功能:
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%21!=0:
summation += 1
num +=1
print(summation)
求1~100内所有能被3或7整除但不能被21整除的数个数
编程实现(for和while各写⼀遍):
- 求1到100之间所有数的和、平均值
程序:
#求1到100之间所有数的和、平均值
# for
sum1 = 0
for num in range(1,101):
sum1 += num
print('1~100之间所有整数的和为:%d\n' %(sum1),'平均值为:%.2f' %(sum1/100))
print('*'*30)
# while
num2 = 0
sum2 = 0
while num2 <= 100:
sum2 += num2
num2 += 1
print('1~100之间所有整数的和为:%d\n' %(sum2),'平均值为:%.2f' %(sum2/100))
结果:

- 计算1-100之间能3整除的数的和
程序:
#2. 计算1-100之间能被3整除的数的和
# for
sum1 = 0
for num in range(1,101):
if num % 3 == 0:
sum1 += num
print('1-100之间能被3整除的数的和为:%d\n' %(sum1))
print('*'*30)
# while
num2 = 0
sum2 = 0
while num2 <= 100:
if num2 % 3 == 0:
sum2 += num2
num2 += 1
print('1-100之间能被3整除的数的和为:%d\n' %(sum2))
结果:

- 计算1-100之间不能被7整除的数的和
程序:
#3. 计算1-100之间不能被7整除的数的和
# for
sum1 = 0
for num in range(1,101):
if num % 7 != 0:
sum1 += num
print('1-100之间不能被7整除的数的和为:%d\n' %(sum1))
print('*'*30)
# while
num2 = 0
sum2 = 0
while num2 <= 100:
if num2 % 7 != 0:
sum2 += num2
num2 += 1
print('11-100之间不能被7整除的数的和为:%d\n' %(sum2))
结果:

- 求斐波那契数列中第n个数的值: 1, 1, 2, 3, 5, 8, 13, 21, 34....
程序:
#1. 求斐波那契数列中第n个数的值: 1, 1, 2, 3, 5, 8, 13, 21, 34....
# 方法1:
n = int(input('请输入您要获得斐波那契数列中第几个数的值:\n'))
n1 = n2 = 1
if n < 3:
print(1)
else:
for _ in range(0, n-2):
n3 = n1 + n2
n1, n2 = n2, n3
print('本斐波那契数列中第%d个数的值为:%d' % (n, n3))
print('*'*50)
# 方法2:
list1 = [1, 1]
n1 = n2 = list1[0]
for _ in range(0, n-2):
n3 = n1 + n2
n1, n2 = n2, n3
list1.append(n3)
print('本斐波那契数列中第%d个数的值为:%d' %(n, list1[n-1]))
结果:

- 判断101-200之间有多少个素数,并输出所有素数。判断素数的⽅法:⽤⼀个数分别除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
程序:
"""
2. 判断101-200之间有多少个素数,并输出所有素数。判断素数的⽅法:⽤⼀个数分别
除以2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
"""
print('101~200之间所有的素数打印如下:')
sum1 = 0
for i in range(101,201):
n = int(i**0.5) # sqrt(i)
for j in range(2, n+1):
if i % j != 0:
if j == n:
sum1 += 1
print(i,end='\t')
else:
continue
else:
break
print('共%d个' %(sum1))
for num in range(101,201):
for x in range(2, num):
if num % x == 0:
break
else: # 自然死亡才执行
print(num, '是素数')
for num in range(101, 201):
count = 0
for x in range(2, num):
if num % x == 0:
count += 1
break
if count == 0:
print(num, '是素数')
结果:

- 打印出所有的⽔仙花数,所谓⽔仙花数是指⼀个三位数,其各位数字⽴⽅和等于该数本身。例如: 153是⼀个⽔仙花数,因为153 = 1^3 + 5^3 + 3^3
程序:
"""
3. 打印出所有的⽔仙花数,所谓⽔仙花数是指⼀个三位数,其各位数字⽴⽅和等于该数
本身。例如: 153是⼀个⽔仙花数,因为153 = 1^3 + 5^3 + 3^3
"""
print('所有三位数的水仙花数为:')
for i in range(100, 1000):
ge_wei = i % 10
shi_wei = i % 100 // 10
bai_wei = i // 100
if ge_wei**3 + shi_wei**3 +bai_wei**3 == i:
print(i, end='\t')
else:
continue
结果:

- 有⼀分数序列: 2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数
分⼦:上⼀个分数的分⼦加分⺟ 分⺟: 上⼀个分数的分⼦ fz = 2 fm = 1 fz+fm / fz
程序:
"""
4. 有⼀分数序列: 2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数
分⼦:上⼀个分数的分⼦加分⺟ 分⺟: 上⼀个分数的分⼦ fz = 2 fm = 1 fz+fm / fz
"""
fz, fm = 2, 1
for _ in range(1, 20):
new_fz = fz + fm
new_fm = fz
fz, fm = new_fz, new_fm
print('这个数列的第20个分数为:', '%d/%d' %(fz, fm))
结果:

- 给⼀个正整数,要求: 1、求它是⼏位数 2.逆序打印出各位数字
程序:
#5. 给⼀个正整数,要求: 1、求它是⼏位数 2.逆序打印出各位数字
num1 = input('请输入一个正整数:')
wei_shu = len(num1)
ni_xu = num1[::-1] # ni_xu = num1[-1:-wei_shu-1:-1]
print('%s是一个%d位数,它的逆序打印为:' %(num1, wei_shu),ni_xu)
结果:

网友评论