周末作业-循环练习题
作者:互联网
-
判断101-200之间有多少个素数,并输出所有素数。
for i in range(100, 201): for j in range(2, i): if i % j == 0: break if j > i ** 0.5: print(i) break
-
求整数1~100的累加值,但要求跳过所有个位为3的数。
sum1 = 0 for i in range(101): if i % 10 != 3: sum1 += i print(sum1)
-
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
num = 20 x1 = 1 x2 = 1 for i in range(num): x3 = x2 x2 += x1 x1 = x3 print(x2, '/', x1, sep='')
-
写程序计算 n 的阶乘 n! 的结果
num = int(input('输入一个数:')) product = 1 for i in range(1, num + 1): product *= i print(product)
-
求1+2!+3!+…+20!的和
num = 20 sum1 = 0 x = 2 for j in range(1, num + 1): product = 1 for i in range(1, x): product *= i x += 1 sum1 += product print(sum1)
-
写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)
例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333
a = int(input('输入a:')) n = int(input('输入n:')) sum1 = x = a for i in range(1, n+1): a = a * 10 + x sum1 += a print(sum1)
-
控制台输出三角形
a.根据n的值的不同,输出相应的形状 n = 5时 n = 4 ***** **** **** *** *** ** ** * * b.根据n的值的不同,输出相应的形状(n为奇数) n = 5 n = 7 * * *** *** ***** ***** ******* c. 根据n的值的不同,输出相应的形状 n = 4 1 121 12321 1234321 n = 5 1 121 12321 1234321 123454321
# a: n = int(input('输入n:')) for i in range(n, 0, -1): for j in range(i): print('*', end='') print()
# b: n = int(input('输入n:')) x = n // 2 + 1 mark = 0 for i in range(x): for j in range(n + 1): if x - 1 - mark <= j <= x - 1 + mark: print('*', end='') else: print(' ', end='') mark += 1 print()
# c: n = int(input('输入n:')) mark = 0 for i in range(n): x = 1 for j in range(2 * n - 1): if n - 1 - mark <= j <= n - 1 + mark: print(x, end='') if j >= n - 1: x -= 1 else: x += 1 else: print(' ', end='') mark += 1 print()
-
小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
money = 100 for x in range(100 // 15 + 1): for y in range((100 - x * 15) // 5 + 1): if 100 - 15 * x - 5 * y != 0 and (100 - 15 * x - 5 * y) % 2 == 0: z = (100 - 15 * x - 5 * y) / 2 elif 100 - 15 * x - 5 * y == 0: z = 0 else: continue print('洗发水:', x, '牙刷:', y, '香皂:', int(z))
-
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
num = 0.08 count = 0 while num <= 8848.13: num *= 2 count += 1 print(count)
-
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
month = int(input('输入月份:')) n1 = 0 n2 = 1 for i in range(month - 1): n0 = n2 n2 = n1 + n0 n1 = n0 print(n2 * 2, '只')
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = 90 print('90=', end='') for i in range(2, num//2 + 1): while num % i == 0: print(i, end='') num = num // i if num // i != 0: print('x', end='')
-
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
num = 1759 n4 = num % 10 n3 = num // 10 % 10 n2 = num // 100 % 10 n1 = num // 1000 n11 = (n4 + 5) % 10 n22 = (n3 + 5) % 10 n33 = (n2 + 5) % 10 n44 = (n1 + 5) % 10 print(n11, n22, n33, n44)
-
本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
year = 5 money = 10000 for i in range(year): money *= (1 + 0.003) print(money)
-
输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
num = int(input('请输入一个整数:')) sum1 = 0 while True: sum1 += num % 10 if num // 10: num = num // 10 else: break print(sum1)
-
求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
a = int(input('请输入a:')) b = int(input('请输入b:')) m = 0 for i in range(1, a + 1): if a % i == 0 and b % i == 0: m = i print('最大公约数:',m) k = b while True: if b % a == 0: print('最小公倍数:',b) break else: b += k
标签:练习题,10,作业,sum1,周末,range,num,print,100 来源: https://blog.csdn.net/qq_35368225/article/details/120392942