-
判断101-200之间有多少个素数,并输出所有素数。
for num in range(101, 201): for x in range(2, int(num ** 0.5 + 1)): if num % x == 0: break else: print("{}是素数".format(num))
-
求整数1~100的累加值,但要求跳过所有个位为3的数。
sum1 = 0 for x in range(1, 101): if x % 10 == 3: continue sum1 += x print("值为:", sum1)
-
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
sum1 = 2 sum2 = 1 num = 4 for _ in range(2, num+1): sum1, sum2 = sum1 + sum2, sum1 print("第{}个分数为:{}".format(num, sum1/sum2))
-
写程序计算 n 的阶乘 n! 的结果
sum1 = 1 n = int(input("请输入n的值:")) for i in range(1, n+1): sum1 *= i print("{}!的结果为:{}".format(n, sum1))
-
求1+2!+3!+…+20!的和
n = 20 sum2 = 0 for i in range(1, n+1): sum1 = 1 for j in range(1, i+1): sum1 *= j sum2 += sum1 print("1+2!+3!+...+20!的结果为:{}".format(sum2))
-
写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)
例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333
a = 3 n = 5 i = 0 sum1 = 0 while i < n+1: sum1 += a a = a + a // (10 ** i) * 10 ** (i + 1) i += 1 print("3 + 33 + 333 + 3333 + 33333 ={} ".format(sum1))
-
控制台输出三角形
a.根据n的值的不同,输出相应的形状 n = 5时 n = 4 ***** **** **** *** *** ** ** * * n = 5 for i in range(n, 0, -1): print('*' * i) b.根据n的值的不同,输出相应的形状(n为奇数) n = 5 n = 7 * * *** *** ***** ***** ******* n = 7 a = n - 1 for i in range(n+1): if i & 1: a -= 1 print(" " * a, "*" * i) c. 根据n的值的不同,输出相应的形状 n = 4 1 121 12321 1234321 n = 5 1 121 12321 1234321 123454321 n = 5 for i in range(0, n): print(" " * (n - i), end=" ") for j in range(1, i + 1): print(j, end="") for j in range(i + 1, 0, -1): print(j, end="") print()
-
小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
for i in range(int(100 / 15) + 1): for j in range(int(100 / 2) + 1): for k in range(int(100 / 5) + 1): if 15 * i + 2 * j + 5 * k == 100: print("可以买{}瓶洗发水,{}盒香皂,{}把牙刷".format(i, j, k))
-
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
n = 0.00008 i = 1 while n * 2 ** i < 8848.13: i += 1 else: print("对折了{}次就能到达珠穆朗玛高度".format(i))
-
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
sum1 = 1 sum2 = 1 n = int(input("请输入月份:(至少为2)")) for _ in range(n - 2): sum1, sum2 = sum2, sum1 + sum2 print("第{}个月的兔子总数为{}".format(n, sum2))
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = 90 num1 = num i = 2 print("{}=".format(num), end="") while i <= int(num ** 0.5): if num1 % i == 0: print("{}x".format(i), end="") num1 = num1 / i continue i += 1
-
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
um = input("请输入加密的四位数:") if len(num) != 4: exit() num = int(num) one = (num // 1000 + 5) % 10 two = (num % 1000 // 100 + 5) % 10 three = (num % 100 // 10 + 5) % 10 four = (num % 10 + 5) % 10 one, four = four, one two, three = three, two print("加密后的值为:{}{}{}{}".format(one, two, three, four))
-
本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
year = 5 money = 10000 rate = 3 * 1e-3 for i in range(year): money = money + money * rate print("{}年后,本金为{}".format(year, money))
-
输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
sum1 = 0 num = int(input("请输入一个整数:")) num2 = num while True: if num // 10: sum1 += num % 10 num //= 10 else: sum1 += num % 10 break print("{}各位上的数字的和为:{}".format(num2, sum1))
-
求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
a = int(input("请输入一个数:")) b = int(input("请输入另一个数:")) ynum = 1 bnum = a * b for i in range(1, min(a, b) + 1): if not(a % i and b % i): ynum = i continue for i in range(max(a, b), a * b): if not(i % a and i % b): bnum = i break print("{}和{}的最大公约数为:{},最小公倍数为:{}".format(a, b, ynum, bnum))
周末作业-循环练习题
最新推荐文章于 2024-02-29 23:34:33 发布