周末作业——循环练习题
1、判断101-200之间有多少个素数,并输出所有素数。
count = 0
print('101-200之间的素数有')
for num in range(101, 201):for x in range(2, int(num**0.5 + 1)):if num % x == 0:breakelse:print(num, end=' ')count += 1
print()
print('共有', count, '个')
2、求整数1~100的累加值,但要求跳过所有个位为3的数。
count = 0
for num in range(1, 101):if num % 10 == 3:continuecount += num
print('累加值为', count)
3、有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
molecule = 1
denominator = 1 # Fibonacci_n的后一位
for x in range(20):molecule, denominator = denominator, molecule + denominator
print('第20个分数是:', denominator, '/', molecule)
4、写程序计算 n 的阶乘 n! 的结果
n = int(input('请输入n:'))
count = 1
for x in range(1, n + 1):count *= x
print('阶乘 n! 的结果', count)
5、求1+2!+3!+…+20!的和
count = 1
sum1 = 0
for x in range(1, 21):count *= xsum1 += count
print('结果是', sum1)
6、写程序求表达式 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:'))
count = 0
for i in range(1, n+1):count += aa = a * 10 + a % 10
print(count)
7、控制台输出三角形
a.根据n的值的不同,输出相应的形状
n = 5时 n = 4
***** ****
**** ***
*** **
** *
*
n = int(input('请输入参数n:'))
for x in range(n):for y in range(n, x, -1):print('*', end='')print()
b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5 n = 7* **** ***
***** ************
n = int(input('请输入参数n:'))
while True:if n % 2 == 0:n = int(input('请输入奇数!请输入参数n:'))continueelse:for x in range(n // 2 + 1):for z in range(n // 2 - x):print(end=' ')for y in range(x * 2 + 1):print('*', end='')print()break
c. 根据n的值的不同,输出相应的形状
n = 4112112321
1234321n = 51121123211234321
123454321
n = int(input('请输入参数n:'))
for x in range(n):for y in range(n-x):print(' ', end='')for z in range(1, x+2):print(z, end='')for z in range(x, 0, -1):print(z, end='')print()
8、小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
shampoo = 0 # 洗发水
soap = 0 # 香皂
toothbrush = 0 # 牙刷
for shampoo in range(1, 7):for soap in range(1, 51):toothbrush = (100 - shampoo * 15 - soap * 2) // 5if (100 - shampoo*15 - soap*2) % 5 == 0 and toothbrush > 0:print('洗发水:', shampoo, '香皂:', soap, '牙刷:', toothbrush)
9、一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
count = 0
n = 1
unit = 8e-5
while count < 8848.13:count = unit * 2**nn += 1
print(n)
10、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
mouth0 = 1 # 第一个月的兔子对数
mouth1 = 1 # 第二个月的兔子对数
n = int(input('请输入月份'))
if n == 1 or n == 2: # 前两个月兔子还没成年,兔子总数是2个print('前两个月兔子还没成年,兔子总数是2个')
else:for x in range(3, n+1):mouth1, mouth0 = mouth0 + mouth1, mouth1print('第', n, '月兔子有', 2*mouth1, '只')
11、将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = int(input('请输入一个正整数:'))
sum1 = num
temp = [] # 存储因数的列表
while sum1 != 1:for x in range(2, num + 1):if sum1 % x == 0:temp.append(x) # 得到一个因数就将它添加到temp列表中sum1 //= x # 将sum1替换成另一个因数,直到sum1变成1;if sum1 != 1:temp.append('x') # 每进行添加一个因数,就添加一个x,最后一次不添加break
if len(temp) == 1: # temp列表里只有一个元素,表面输入的数是素数print('这是个素数')
else:print(num, '=', end='', sep='')for x in temp:print(x, end='') # 按规定输出
12、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
while True:number = input('请输入数据:')if len(number) == 4:number = int(number)qian = number // 1000bai = number // 100 % 10shi = number // 10 % 10ge = number % 10qian, ge = (ge + 5) % 10, (qian + 5) % 10bai, shi = (shi + 5) % 10, (bai + 5) % 10number = qian*1000 + bai*100 + shi*10 + geprint('加密值', number)breakelse:print('你输入的不是4位整数,请重新输入')
13、本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
money = 10000
for x in range(1, 6):money += money*0.003
print('5年后的本金是', money, '元')
14、输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
number = int(input('请输入一个整数'))
count = 0
while number != 0:if number > 0:count += number % 10number = number // 10else:count += 10 - number % 10number = number // 10 + 1
print('它各位上数字的和是:', count)
15、求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
a = int(input('请输入一个数'))
b = int(input('请输入另一个数'))
divisor = 1 # 公约数
if a > b:a, b = b, a
for x in range(2, n):if a % x == 0 and b % x == 0:divisor *= x
if b % a == 0:divisor = a
print(divisor)
print(a*b//divisor)
周末作业——循环练习题相关推荐
- 周末作业-循环练习题(未完)
判断101-200之间有多少个素数,并输出所有素数. for i in range(101, 200):for j in range(2, i):if i % j == 0:print(i)break ...
- 周末作业-循环练习题(1)
判断101-200之间有多少个素数,并输出所有素数. count=0 print("素数有: ") for num in range(101,200):for i in range ...
- 周末作业-循环练习题(2)
判断101-200之间有多少个素数,并输出所有素数. count=0 for i in range(101,200):for j in range(2,i):if i % j == 0:breakel ...
- 周末作业-循环练习题
判断101-200之间有多少个素数,并输出所有素数. count = 0 for num in range(101,200):for i in range(2,num-1):if num % i == ...
- 7.17周末作业-循环练习题
判断101-200之间有多少个素数,并输出所有素数. count = 1 for x in range(101, 200):for y in range(2, int(x ** 0.5) + 1):i ...
- Python-第一周作业-循环练习题
判断101-200之间有多少个素数,并输出所有素数. count = 0 for i in range(101,200):for j in range(2,i):if i % j == 0:break ...
- java循环练习题及答案_循环练习题及答案
Java循环练习题及答案 1,任意输入一个整数(小于10位),求它的位数 import java.util.Scanner; public class BitNum { } public static ...
- php作业源码,周末作业 源码
实例 /** * Created by PhpStorm. * User: MoLingran * Date: 3/17 0017 * Time: 16:18 */ if (PATH_SEPARATO ...
- JAVA 18道基础循环练习题,带你了解循环是如何实现的(带答案)
循环练习题 1.求1~100的和 public class qiuhe100{public static void main(String[] args){int sum = 0;int i = 0; ...
最新文章
- windows 7下用SaveFileDialog弹不出对话框问题
- leetcode 1239. Maximum Length of a Concatenated String with Unique Characters | 1239. 串联字符串的最大长度(回溯)
- 解决import tensorflow时的报错 Passing (type, 1) or ‘1type‘ as a synonym of type is deprecate
- 雪花怎么画_平安夜怎么过?画个圣诞妆,你是最迷人嘎,你知道吗
- openstack 虚拟机如何修改ip地址
- 看看一个朋友写的代码,大家发表发表意见,比较简单的代码
- Failed to start OpenLDAP Server Daemon
- 小程序 ---- (存在登录功能不符合运营规范问题)
- ViewPage2+TabLayout小记
- 北大2022计算机学院夏令营,2020年北京大学“第十三届(2020)全国优秀大学生暑期夏令营”录取名单(第一批)及活动须知...
- 手机拍的视频后期怎么处理?视频大神的后期技巧,Vlog大片也能做
- python 优雅退出_Python学习教程:Python 使用 backoff 更优雅的实现轮询
- kali中如何更新python_怎么在线更新kali linux
- 记一个chrome自带input:-internal-autofill-selected背景色样式问题
- 费马大定理:一部跨越时代的惊险小说
- 51单片机通过esp8266与手机简单的通信(第一次)
- 秘制牛肉团队博客目录
- 《水知道答案2》观后小结
- 《深入理解计算机系统》(原书第三版)家庭作业第三章(3.63)解答
- OBS视频数据输出流程(模块加载,编码,推流)详细说明