1.3 中国结
公司现在需要打印中国结的主结(位于中间,最大的那一个结),为了打印出漂亮新颖的主结,于是设计打印主结的长度满足可以被 7 整除这个条件。现在公司需要统计某个范围内
能被 7 整除的整数的个数,以及这些能被 7 整除的数的和。
从键盘上输入一个整数 N,输出 1~N 之间能被 7 整除的整数的数,以及这些能被 7 整除的数的和
sum_seven = 0 data = int(input('请输入一个正整数N:')) for i in range(1, data): if i % 7 == 0: sum_seven += i print(i, end=' ') print(f'\n被 7 整除的数的和:{sum_seven}')
1.4 项列求和
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13 … 求出这个数列的前 20 项之和。要求:利用循环计算该数列的和。注意分子分母的变化规律。
注意:
a1=2, b1=1, c1=a1/b1; a2=a1+b1, b2=a1, c2=a2/b2; a3=a2+b2, b3=a2, c3=a3/b3;
…
s = c1+c2+…+c20;
s 即为分数序列:2/1,3/2,5/3,8/5,13/8,21/13 … 的前 20 项之和。
num_mom = 2 # 分母 num_sun = 1 # 分子 num_sum = 0 # 序列之和 temp = 0 # 替换值 for i in range(20): num_sum += num_sun / num_mom temp = num_mom num_mom = num_sun num_sun = num_sun + temp print(num_sum)
1.5
一个球从 100 米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第十次落地时,球共经过多少米? 第十次反弹多高?
sum_h = 0 h = 100 for i in range(10): sum_h += h#相加下落的高度 h = h / 2 sum_h += h#相加反弹的高度 print(f'球经过{sum_h-h}米') print(f'第十次反弹{h}米高')
1.6
求奇数、
编写程序实现:从键盘输入正整数 s,从低位开始取出 s 中的奇数位上的数,依次构成一个新数 t,高位仍放在高位,低位仍放在低位,最后在屏幕上输出 t。例如,当 s 中的数为 7654321 时,t 中的数为 7531。
num = int(input('输入一个正整数:')) i = 1 # 循环次数判断奇、偶 remainder = 0 # 余数 t = 0 mul = 1 # 乘数 if num / 10 == 0: t = num % 10 else: while num: if i % 2 != 0: t += num % 10 * mul mul = mul * 10 num = num // 10 i += 1 print(f't的值是{t}')
1.7
在一个停车场内,汽车、摩托车共停了 48 辆,其中每辆汽车有 4 个轮子,每辆摩托车
有 3 个轮子,这些车共有 172 个轮子,编程输出停车场内有汽车和摩托车的数量。
i = 0 # 汽车数量 for i in range(1, 49): if i * 4 + (48 - i) * 3==172: print(f"汽车数量是:{i},摩托车数量是:{48-i}")
1.8
小明今天参加了“校园歌手大赛”,评委的打分规则是去掉一个最低分和一个最高分后算出剩下分数的平均分,你能帮助小明快速的算出平均分吗? (评委数量必须大于 2)
输入说明:首先输入一个整数 n,代表评委人数,然后输入 n 个数。请按照题目的计算规则计算出平均分然后输出。
例如输入: 6
100 90 90 80 85 95
按照题目注意计算平均分并输出: 90.0
在这里插入代码片n = int(input('输入评委人数:')) point = input('输入分数:').split(' ') point = list(map(int, point)) # 将列表值转化为整形 point.remove(max(point)) point.remove(min(point)) print(f'平均分为:{sum(point) / len(point)}')
1.9九九乘法表、
选择乘法口诀助记功能,输出阶梯形式的 9*9 乘法口诀表
for i in range(1, 10): for j in range(1, i+1): print(f'{i}X{j}={i * j}', end=' ') print()
1.10
输入一个字符串统计每个字符在字符串中出现的次数。
char = input('请输入一个字符串:') data = [] count = [] for i in char: if i in data: count[data.index(i)] += 1 else: data.append(i) count.append(1) for i in range(len(data)): print(f'{data[i]}:{count[i]}次')