-
判断101-200之间有多少个素数,并输出所有素数。
count = 0 i = 100 while i <= 200: for a in range(2, i): if i % a == 0: break else: print(i) count += 1 i += 1 print(count)
-
求整数1~100的累加值,但要求跳过所有个位为3的数。
sum2 = 0 for i in range(1, 101): a = i % 10 if a != 3: sum2 += i print(sum2)
-
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
a = 1 b = 1 c = 0 i = 1 while i <= 20: # print(b) c = a + b i += 1 a, b = b, c print(b) print(a) print(str(b) + '/' + str(a), b / a)
-
写程序计算 n 的阶乘 n! 的结果
num = int(input('请输入一个整数:')) i = 1 sum1 = 1 while i <= num: sum1 *= i i += 1 print(sum1)
-
求1+2!+3!+…+20!的和
sum2 = 0 num = 1 while num <= 20: i = 1 sum1 = 1 while i <= num: sum1 *= i i += 1 num += 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 = input('请输入一个0~9之间的数字:') n = input('请输入一个数字:') i = 1 sum1 = 0 while i <= int(n): print(a * i) sum2 = int(a * i) sum1 += sum2 i += 1 print(sum1)
-
控制台输出三角形
a.根据n的值的不同,输出相应的形状 n = 5时 n = 4 ***** **** **** *** *** ** ** * * a = '*' n = input('请输入一个数字:') for i in range(int(n), 0, -1): print(a * i) b.根据n的值的不同,输出相应的形状(n为奇数) n = 5 n = 7 * * *** *** ***** ***** ******* n = input('请输入一个数字:') i1 = int(n) // 2 a = 1 if int(n) % 2 == 0: print('请输入奇数') else: while a <= int(n): print(' ' * i1, end='') print('*' * a) a += 2 i1 -= 1 c. 根据n的值的不同,输出相应的形状 n = 4 1 121 12321 1234321 n = 5 1 121 12321 1234321 123454321 n = int(input('请输入一个数字:')) for i in range(1, n + 1): print(' ' * (n - i), end='') for j in range(1, i + 1): print(j, end='') if i > 1: for k in range(i - 1, 0, -1): print(k, end='') print()
-
小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
a = 15 b = 2 c = 5 for i in range(0, 7): for j in range(0, 51): for k in range(0, 21): if i * a + j * b + c * k == 100: print('洗发水' + str(i) + '个', '香皂' + str(j) + '个', '牙刷' + str(k) + '个')
-
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
sum1 = 0.00008 count = 0 while True: sum1 = sum1 * 2 count += 1 if sum1 >= 8848.13: break print('需要对折' + str(count) + '次')
-
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
# 1,1,2,3,5,8,13 month = int(input('请输入月份:')) a = 1 b = 1 c = 1 for i in range(1, month + 1): if i >= 3: c = a + b a, b = b, c print(c)
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = int(input('请输入一个正整数:')) print(num, '=', end="") i = 2 if num == 1: print(num) else: while i <= num: if i == num: print(i, end='') i += 1 elif num % i == 0: print(i, end='*') num /= i else: i += 1
-
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
num = int(input('请输入一个四位数的整数:')) a = num // 1000 b = num // 100 % 10 c = num // 10 % 10 d = num % 10 a = (a + 5) % 10 b = (b + 5) % 10 c = (c + 5) % 10 d = (d + 5) % 10 print('加密后数字是:' + str(d) + str(c) + str(b) + str(a))
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = int(input('请输入一个正整数:')) print(num, '=', end="") i = 2 if num == 1: print(num) else: while i <= num: if i == num: print(i, end='') i += 1 elif num % i == 0: print(i, end='*') num /= i else: i += 1
-
本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
# 10000,10030,10060.09,10090.27027,10120.54108081 year = int(input('请输入月份:')) a = 10000 b = 0.003 c = 10000 for i in range(1, year + 1): if i >= 2: c = a * b + a a = c print(c) 输出: 请输入月份:5 10120.54108081
-
输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
num = int(input('请输入一个整数:')) sum1 = 0 while num % 10 != 0 or num // 10 != 0: sum1 += num % 10 num //= 10 print(sum1) 输出: 请输入一个整数:100560 12
-
求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
# 最大公约数和最小公倍数 a = int(input('请输入一个整数:')) b = int(input('请输入一个整数:')) c = d = e = 0 print(a, b, sep='和', end='') if a >= b: d, e = a, b else: c = a a = b b = c d, e = a, b while a % b != 0: c = a % b a = b b = c else: print('这两个数字的最小公约数是:' + str(b)) print(d, e, sep='和', end='') while d % e == 0: print('这两个数字的最大公倍数是:' + str(d)) else: print('这两个数字的最大公倍数是:' + str(e / b * d)) 输出: 请输入一个整数:50 请输入一个整数:15 50和15这两个数字的最小公约数是:5 50和15这两个数字的最大公倍数是:150.0
周末作业-循环练习题(2)
最新推荐文章于 2024-05-21 21:44:36 发布