python-if、while、for语句的练习
2024-10-21 19:46:06
简单练习
1. 根据百分制成绩打印及格和不及格,60分一下不及格
source = float(input('请输入您的成绩:'))
if 0 <= source < 60:
print('不及格')
elif 60 <= source <= 100:
print('及格了')
else:
print('你确定你输入的成绩正常?')
2. 根据输入的年龄打印成年或者未成年,18岁以下未成年,如果年龄不在正常范围内(0~150岁),打印这不是人!。
age = int(input('请输入您的年龄:'))
if 0 <= age < 18:
print('未成年')
elif 18 <= age <= 150:
print('成年')
else:
print('这好像不是人')
3. 输入两个整数,如果相减的结果为奇数,则输入该结果,否则输出提示信息,结果不是奇数。
num1 = int(input('第一个整数:'))
num2 = int(input('第二个整数:'))
number = num1 - num2
if number % 2 != 0:
print(number,'是个奇数')
else:
print("结果不是奇数")
4. 使用 for 循环输出0到100内的所有奇数
for i in range(0,101):
if i % 2 != 0:
print(i)
5. 使用 while 循环输出0到100内的偶数。
i = 0
while i < 100:
if i % 2 == 0: # 这里注意的是先判断,因为 0 也是要判断是不是偶数的
print(i)
i += 1
进阶题目
1. 使用循环计算出1到100求和的结果
result = 0
for i in range(1,101):
result += i
print(result)
2. 统计100以内个位数是2并且能够被3整除的个数。
for i in range(0,101):
if i % 10 == 2 and i % 3 == 0:
print(i)
3. 输入一个正整数,求它是几位数字
num = int(input('请输入一个正整数:'))
n = 0
while True:
num = num // 10 # 这里用到了一点,很特别,因为是整除,所以除以结果为小数的话,整除的结果就是 0
n += 1
if num == 0:
break
print(n)
4. 打印所有水仙花数
说明 : 水仙花数是一个三位数,其各位数字立方和等于该数本身
例如 : 153是一个水仙花数,153 = 1的三次方 + 5的三次方 + 3的三次方
for i in range(100,1000):
bai = i // 100
shi = i % 100 // 10
ge = i % 10
if bai ** 3 + shi **3 + ge ** 3 == i:
print(i)
5. 写一个程序可以不断输入数字,如果数字为0,打印程序结束并结束该程序
while True:
test = input('你可以不断输入数字:')
if test == '0':
break
6.统计101~200中素数的个数,并输出所有的素数。(素数又称质数,就是只能被1和他整除的数)
for i in range(101,201):
for j in range(2,i):
if i % j == 0:
break
else:
print(i,'是个质数')
有一个语义化更好的方法,比如:假设成立发,计数法,方法都类似。
假设成立法
使用 flag 变量来判断 i 是否是质数
for i in range(101,201):
flag = True
for j in range(2,i):
if i % j == 0:
flag = False
if flag:
print(i,'是个质数')
计数法
使用 count 变量来判断 i 是否是质数
for i in range(101,201):
count = 0
for j in range(2,i):
if i % j == 0:
count += 1
if count == 0:
print(i,'是个质数')
7.求斐波那楔数的第n个值,n是正整数。
说明 : 斐波那楔数列是这样的的一个数列 : 1、1、2、3、5、8、13、21、34、...
第一数和第二个数是1,从第三个开始每个元素是前两个元素相加的和
n = int(input('你知道第几位斐波那楔数:'))
num1 = 1
num2 = 1
i = 0
while i < n - 2:
a = num1
num1 = num2
num2 = a + num1
i += 1
print(num2)
输出九九乘法表
while
i = 0
while i < 9:
i += 1
j = 0
while j < i:
j += 1
print(j,'x',i,'=',j*i,end='\t')
print()
for
for i in range(1,10):
for j in range(1,i + 1):
print(j,'x',i,'=',j*i,end='\t')
print()
"百马百担"问题
一匹大马能驼3担货,一匹中马能驼2担货,两匹小马能驼1担货,问大、中、小马各有多少条
设大马为 x 匹 ,中马为 y 匹,则小马为 100 - x - y 匹
for x in range(0,100 // 3 + 1):
for y in range(0,100 // 2 + 1):
if x * 3 + y * 2 + (100 - x - y) * 0.5 == 100:
print('大马',x,'中马',y,'小马',100 - x - y)
一张纸的厚度为0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
height = 0.08 / 1000
n = 0
while True:
height *= 2
n += 1
if height > 8848.13:
break
print('对折',n,'次后,可以超越珠穆朗玛峰,超越了',height - 8848.13,'米')
最新文章
- ACM/ICPC 之 中国剩余定理+容斥原理(HDU5768)
- cocos2d-x的CCAffineTransform相关变换实现原理
- vmware下的linux的host only上网配置
- java创建Date日期时间笔记
- NSS_05 数据访问选型
- Linux江湖01:玩转Linux系统的方法论 (转载)
- poj3709
- 【ecos学习5】redboot 加载运行hello world
- Sencha Touch 2 结合HTML5的本地存储创建数据库实现增、删、改、查
- CCNA网络工程师学习进程(9)GNS3的安装与配置
- Linux下crontab命令添加Kettle作业定时任务
- Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收藏
- 【ORM框架】Spring Data JPA(一)-- 入门
- invalid mode &#39;kCFRunLoopCommonModes&#39; provided to CFRunLoopRunSpecific
- C语言 &#183; 求先序遍历
- 对于已经添加引用,还找不到类型或名字空间的错误及svn客户端清除用户帐号密码
- 2017-2018-4 20155203《网络对抗技术》Exp3 免杀原理与实践
- HBase什么时候作minor major compact
- Python源码分析(二) - List对象
- Linux中常用头文件的作用--转