-
判断101-200之间有多少个素数,并输出所有素数。
count = 0 for i in range(101, 201): for j in range(2, i): if i % j == 0: break else: count += 1 print(count)
-
求整数1~100的累加值,但要求跳过所有个位为3的数。
sum1 = 0 for i in range(1, 101): if i % 10 == 3: continue sum1 += i print(sum1)
-
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
n = int(input('请输入要查看的位置数:')) f_1 = 2 f_2 = 1 f_count = 3 m_1 = 1 m_2 = 1 m_count = 2 for i in range(2, n+1): f_count = f_1 + f_2 f_2 = f_1 f_1 = f_count m_count = m_1 + m_2 m_2 = m_1 m_1 = m_count print('第%d个分数是:%d/%d' % (n, f_1, m_1))
-
写程序计算 n 的阶乘 n! 的结果
n = int(input('请输入一个整数:')) i = 1 sum1 = 1 while i <= n: sum1 *= i i += 1 print('{}的阶乘是:{}'.format(n, sum1))
-
求1+2!+3!+…+20!的和
sum2 = 0 for j in range(1, 21): i = 1 sum1 = 1 while i <= j: sum1 *= i i += 1 sum2 += sum1 print(sum2)
-
写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)
例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333
a = int(input('请输入1-9的任意一个数字:')) n = int(input('请输入要打印的项数:')) sum1 = 0 sum2 = 0 for i in range(n): sum1 = sum1*10 + a sum2 += sum1 print(sum2)
-
控制台输出三角形
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('请输入要打印的层数:')) i = 0 while i < n: j = n while j > i: print('*', end=' ') j -= 1 print() i += 1
b、
n = int(input('请输入要打印的层数:')) for i in range(1, n+1, 2): print(' '*(n-i) + '* '*i)
c、
n = int(input('请输入要打印的n的值:')) for i in range(1, n+1): print(' '*(n-i), end='') for j in range(1, i+1): print(j, end='') for x in range(i-1, 0, -1): print(x, end='') print() print()
-
小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
for x in range(1, 7): for y in range(1, 51): z = (100 - 15*x - 2*y) // 5 if 15*x + 2*y + 5*z == 100 and z % 5 == 0 and z > 0: print('100元可以买{}瓶洗发水,{}个香皂,{}个牙刷'.format(x, y, z))
-
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
count = 0 x = 0.08 while True: x *= 2 count += 1 if x >= 8848.13*1000: break print(count)
-
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
num = int(input('请输入要查询哪个月的兔子数:')) num_1 = 1 num_2 = 0 count = 1 for i in range(2, num+1): count = num_1 + num_2 num_2 = num_1 num_1 = count print('第{}个月的兔子个数是:{}只'.format(num, count*2))
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = int(input('请输入一个正整数:')) for i in range(2, num): while i != num: if num % i == 0: print(i, end='*') num = int(num / i) else: break print(num)
-
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
num = input('请输入四位整数:') num1 = [] for i in range(4): num1.append((int(num[i])+5) % 10) a = num1[0] b = num1[1] num1[0], num1[1] = num1[3], num1[2] num1[3], num1[2] = a, b for i in num1: print(i, end='') print()
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = int(input('请输入一个正整数:')) for i in range(2, num+1): while i != num: if num % i == 0: print(i, end='*') num = int(num / i) else: break print(num)
-
本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
n = 10000 for i in range(1, 6): n *= (1 + 0.003)**i print(n)
-
输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
num = input('请输入任意一个整数:') sum1 = 0 for i in num: sum1 += int(i) print('整数{}的各位上数字之和为:{}'.format(num, sum1))
-
求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
a = int(input('请输入整数a:')) b = int(input('请输入整数b:')) num = list() num.append(a) num.append(b) num.sort() j = 1 for i in range(1, num[0] + 1): if a % i == 0 and b % i == 0 and i <= num[0]: j = i x = int(a * b / j) print('整数{}和整数{}的最大公约数是:{}, 最小公倍数是{}'.format(a, b, j, x))
周末作业-循环练习题
最新推荐文章于 2024-09-11 09:42:13 发布