求1到100之间所有数的和、平均值
num = 0
for i in range(1, 101):
num += i
print(num, num/100)
num1 = 0
i = 0
while True:
i += 1
if 0 < i < 101:
num1 += i
else:
break
计算1-100之间能3整除的数的和
num = 0
for i in range(1, 101):
if i % 3 == 0:
num += i
print(num)
num1 = 0
i = 0
while True:
i += 1
if i < 100 and i % 3 == 0:
num1 += i
if i > 100:
break
print(num1)
计算1-100之间不不能被7整除的数的和
num = 0
for i in range(1, 101):
if i % 7 == 0:
continue
num += i
print(num)
i = 0
num1 = 0
while True:
i += 1
if i % 7 == 0:
continue
elif i > 100:
break
else:
num1 += i
print(num1)
求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34....
n = 9
a, b = 0, 1
for i in range(n-1):
a, b = b, a + b
print(b)
判断101-200之间有多少个素数,并输出所有素数。判断素数的⽅方法:⽤用⼀一个数分别除2到sqrt(这个 数),如果能被整除,则表明此数不不是素数,反之是素数
num2 = 0
x = 0
for i in range(101, 201):
for y in range(2, i+1):
if i % y == 0:
x += 1
if x == 1:
num2 += 1
x = 0
print(num2)
打印出所有的⽔水仙花数,所谓⽔水仙花数是指⼀一个三位数,其各位数字⽴立⽅方和等于该数本身。例例如:153是 ⼀一个⽔水仙花数,因为153 = 1^3 + 5^3 + 3^3
num3 = 0
for i in range(100, 1000):
bai = i // 100
shi = i // 10 % 10
ge = i % 10
if i == bai**3 + shi**3 + ge**3:
num3 += 1
print(i)
有⼀一分数序列列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列列的第20个分数 分⼦子:上⼀一个分数的分⼦子加分⺟母 分⺟母: 上⼀一个分数的分⼦子 fz = 2 fm = 1 fz+fm / fz
numerator = 1
denominator = 1
for i in range(20):
numerator, denominator = numerator + denominator, numerator
print(numerator, '/', denominator)
给⼀一个正整数,要求:1、求它是⼏几位数 2.逆序打印出各位数字
a = -1
num4 = input('请输入一个正整数:')
places = len(num4)
print(places, '位数')
for i in range(len(num4)):
print(num4[a])
a += -1
计算5的阶乘 5!的结果是
num5 = 5
x = 1
for i in range(1, 6):
x *= i
print(x)
求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。
x = 1
sum1 = 0
for i in range(1, 21):
x *= y
sum1 += x
print(sum1)
计算 1+1/2!+1/3!+1/4!+...1/20!=?
a = 1
sum2 = 0
for i in range(1, 21):
a *= i
sum2 += 1/a
print(sum2)
循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
sum3 = 0
while True:
num = float(input('请输入一个数:'))
sum3 += num
print(sum3)
if num == 0:
break
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。
a = int(input('请输入一个数字:'))
num8 = int(input('请输入几个数相加:'))
s = 0
for i in range(1, num8+1):
t = 0
for y in range(i):
t = t + 10**y
s = s + (a*t)
print(s)
输入三个整数x,y,z,请把这三个数由小到大输出
x = int(input("请输入整数x:"))
y = int(input("请输入整数y:"))
z = int(input("请输入整数z:"))
if x > y > z:
print(x, y, z)
elif x > z > y:
print(x, z, y)
elif y > x > z:
print(y, x, z)
elif y > z > x:
print(y, z, x)
elif z > x > y:
print(z, x, y)
else:
print(z, y, x)
控制台输出三角形
n = int(input('输入值:'))
for i in range(n, 0, -1):
print('*'*i)
n = 7
for count in range(1, n+1, 2):
space = int((n - count)/2)
print(' '*space, end='')
print('*'*count)
输出9*9口诀。
for i in range(0, 10):
for y in range(1, i+1):
if y < i:
print('{0}*{1}={2}'.format(y, i, i*y), end=' ')
else:
print('{0}*{1}={2}'.format(y, i, i * y))
这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
for big in range(1, 100//3):
for mid in range(1, 100//2):
for small in range(2, 100, 2):
if big + mid + small == 100 and big*3 + mid*2 + small/2 == 100:
print('大马:', big, '中马:', mid, '小马:', small)
1.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
num = 0.08
count = 0
while True:
num *= 2
count += 1
print(num)
if num >= 8848130:
break
print('对折', count, '次')
- 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
n = int(input('几个月;'))
a, b = 0, 1
for i in range(1, n):
a, b = b, a+b
print(b)
- 将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = 20
print(num, '=', end='')
while num > 1:
for i in range(2, num+1):
if num % i == 0:
num = int(num/i)
if num == 1:
print(i)
else:
print(i, '*', end='')
break
- 输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。
m = 20
n = 18
yue = 0
for i in range(2, n+1):
if n % i == 0 and m % i == 0:
yue = i
print(yue)
multiple = 0
for i in range(1, m+1):
for j in range(1, n+1):
if m * j == n * i:
if multiple == 0:
multiple = m * j
print(multiple)
if multiple < m * j:
break
- 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3. 编程 找出1000以内的所有完数
sum = 0
for i in range(2, 1001):
for j in range(1, i+1):
if i % j == 0:
sum += j
if sum == i:
print(i)
sum = 0
6.输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
year = int(input("请输年份:"))
month = int(input('请输入月份:'))
day = int(input('请输入几号:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
days = (month - 1)*30 + ((month+1)//2) + 29 + day
print(days)
else:
days = (month - 2) * 30 + ((month - 1) // 2) + 28 + day
print(days)
- 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
pw = int(input('请输入四位数的整数:'))
qian_wei = pw // 1000
bai_wei = pw // 100 % 10
shi_wei = pw // 10 % 10
ge_wei = pw % 10
qian_wei = (qian_wei+5) % 10
bai_wei = (bai_wei+5) % 10
shi_wei = (shi_wei+5) % 10
ge_wei = (ge_wei+5) % 10
qian_wei, bai_wei, shi_wei, ge_wei = ge_wei, shi_wei, bai_wei, qian_wei
pw2 = qian_wei*1000 + bai_wei*100 + shi_wei*10 + ge_wei
print(pw2)