Python 练习题讲解 2 · 循环计算

一. 判断三条边是否能够构成三角形

复制代码
# 获取三条边
a, b, c = map(int, input().split())
# 将三条边从小到大排序并存入列表中
sides = sorted([a, b, c])
# 判断三条边是否能够形成三角形
## 规则:短的两条边相加大于第三条边
if sides[0] + sides[1] > sides[2]:
    print("Yes")
else:
    print("No")

运行结果:

解析:

1. map() 函数: 格式为 map(函数, 可迭代对象1, 可迭代对象2, ......),用于将 "可迭代对象" 按照 "函数" 依次处理后并返回结果

复制代码
print(a, b, c)
print(type(a), type(b), type(c))

运行结果:

2. input() 函数: 格式为input("提示文本"),用于获取键入的文字,键入的文字无论是数字、字母、汉字、符号等,返回的都是字符串类型的数据,"提示文本" 可写可不写

复制代码
s = input()
print(f"{s}:{type(s)}")

运行结果:

3. split() 函数: 格式为 split("分隔符"),用于按照 "分隔符" 将字符串分割为几个子字符串,并将子字符串作为元素存入列表中返回,如果不填写 "分隔符",默认按照 "空格" 分割

复制代码
w = input("请输入需要分割的字符串:")
print(w.split())
print(w.split("、"))

运行结果:

**4. int():**将元素强制转换为整数

**5. sorted():**将元素从小到大排序

**6. 可迭代对象索引号:**按照 "索引号" 检索元素

二、判断闰年

**判断标准:**能被4整除但不能被100整除,或者能被400整除的年份是闰年。

复制代码
year = int(input("请输入一个年份:"))
if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
    print(f"{year}是闰年")
else:
    print(f"{year}不是闰年")

运行结果:

解析:

**1. f"":**字符串的格式化写法,用于形成一个格式化文本,用{}包裹 "变量 / 函数 / 可执行代码" 将需要在格式化文本中变动的部分引入,形成最终的个性化文本

**2. %:**整除

**3. and:**逻辑并,两边条件同时为 "真值" 时,判定为正确

**4. or:**逻辑或,两边条件有一边为 "真值" 时,判定为正确

**5. not():**逻辑非,括号中条件为 "真值" 时,判定为错误,反之判定为正确

三、计算油费

现在有:90号汽油 6.95元/升、93号汽油 7.44元/升、97号汽油 7.93元/升。 为吸引顾客,某自动加油站推出了 "自助服务" 和 "协助服务" 两个服务等级,分别可得到 5% 和 3% 的折扣。

需要编写程序,根据顾客输入的加油量 a,汽油品种 b(90、93或97)和服务类型 c(m - 自助,e - 协助),计算输出应付款。

复制代码
c = input("请问您需要协助加油吗?(m-自助,e-协助)")
if c == "m":
    c = 0.05
elif c == "e":
    c = 0.03
else:
    c = 0
    print("输入错误")
b = input("请问您需要几号油(90、93、97):")
if b == "90":
    b = 6.95
elif b == "93":
    b = 7.44
elif b == "97":
    b = 7.93
else:
    b = 0
    print("输入错误")
a = int(input("请问您需要加多少油(单位:L):"))
print(f"请支付:{a * b * (1 - c)}")

运行结果:


欢迎大家投稿题目或批评指正,可咨询、讲解

相关推荐
z落落2 小时前
C# WinForm Socket 转串口设备服务器+Modbus CRC16校验+Socket 客户端
服务器·开发语言·c#
智能体与具身智能8 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
小灰灰搞电子8 小时前
Rust+Slint 实现动态消息提示框源码分享
开发语言·后端·rust
2601_962294619 小时前
python中range函数怎么用
python·for循环·可迭代对象·range函数·整数列表
传奇开心果编程10 小时前
【Rust入门知识点学与练】第21课:Trait 进阶 Advanced Traits
开发语言·学习·rust
青 春 记 忆10 小时前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马10 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
swordbob10 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
白山编程大哥11 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
落羽的落羽11 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法