小甲鱼 发表于 2024-12-23 00:05:26

《笨办法学Python》习题5:更多变量与打印练习

《笨办法学Python》习题5:更多变量与打印练习

本节视频

https://www.bilibili.com/video/BV1oHrYYwEnu/?p=6


内容概览

1. 格式化字符串

这一节习题中,我们要学习如何将变量的值给放到字符串里面。

要在字符串中嵌入变量的值,我们需要使用一对花括号 {},并将变量名放在花括号内。并且,我们的字符串需要以字母 f 来开头。

f 代表 “格式化”(format),通过这样的组合,就相当于告诉 Python:“这是一个格式化字符串,把这些指定变量的值放到字符串中。”


2. 代码演示

my_name = 'Zed A. Shaw'
my_age = 35 # 真的,没骗你
my_height = 74 # 英寸
my_weight = 180 # 磅
my_eyes = '蓝色'
my_teeth = '白色'
my_hair = '棕色'

print(f"让我们来谈谈 {my_name}。")
print(f"他的身高是 {my_height} 英寸。")
print(f"他的体重是 {my_weight} 磅。")
print(f"实际上这并不算太重。")
print(f"他的眼睛是 {my_eyes} 的,他的头发是 {my_hair} 的。")
print(f"他的牙齿通常是 {my_teeth} 的,这取决于他喝了多少咖啡。")

# 下面这一行代码比较难,请尝试理解它
total = my_age + my_height + my_weight
print(f"如果我把 {my_age}、{my_height} 和 {my_weight} 加起来,我会得到 {total}。")
注意:在双引号的前面,必须写上一个 f 字符,才表示这不是一个的普通字符串,而是一个格式化字符串。这样,在字符串中使用大括号括起来的变量名,就可以被自动替换为该变量所对应的值。

本节习题代码:


温故知新

1. 修改所有变量的名字,去掉它们前面的 my_ 前缀。确保每一处都修改到位,而不仅仅是修改几条赋值语句。

参考答案:
**** Hidden Message *****
2. 尝试使用变量将英寸和磅转换成厘米和千克,不要直接输入结果,而是使用 Python 的数学功能来完成转换。

参考答案:
**** Hidden Message *****

提问求助

本节课遇到的任何问题,都可以在该帖下方留言。

如需 AI 助理协助,请描述您的问题,并 @FishC 即可。

{:10_325:}


sunshine_8205 发表于 2024-12-23 13:44:54

{:5_106:}{:5_108:}

Dirtyboy_S 发表于 前天 14:33

为什么我的total出来不是加法,而是把所有数字排列加起来,变成了“3574180” @FishC

FishC 发表于 前天 14:34

Dirtyboy_S 发表于 2025-01-19 14:33
为什么我的total出来不是加法,而是把所有数字排列加 ...

出现这种问题的原因很可能是你在计算 `total` 时,把数字作为字符串连接起来了,而不是进行数值加法。

在Python中,如果你对字符串使用加号 `+` 操作,它会将字符串拼接,而不是执行数学运算。例如:

total = "3" + "5" + "7"
print(total)# 输出:357

为了正确执行数字加法,请确保所有数字是整数或浮点数。这是一个正确的例子:


# 确保所有元素是数字类型
numbers =
total = sum(numbers)
print(total)# 输出:28


**解决办法:**
1. 如果数据来自用户输入,使用 `int()` 或 `float()` 转换它们为数字类型。
2. 检查是否无意中将数字转为字符串。

举个例子:

# 示例:输入三个数字,正确计算总和
x = int(input("请输入第一个数字:"))
y = int(input("请输入第二个数字:"))
z = int(input("请输入第三个数字:"))

total = x + y + z
print(f"总和是:{total}")


如果还有疑问,请提供你的代码,我会更具体地帮你分析!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

Dirtyboy_S 发表于 前天 14:48

如何把round()与 f{},结合使用 @FishC

FishC 发表于 前天 14:48

Dirtyboy_S 发表于 2025-01-19 14:48
如何把round()与 f{},结合使用 @FishC

可以将 `round()` 和 `f-string` 结合使用来格式化数值,例如对浮点数进行四舍五入后再输出。以下是具体的用法:

示例代码:


# 假设有一个浮点数
num = 3.1415926

# 使用 round() 和 f-string
result = f"圆周率取两位小数是:{round(num, 2)}"

print(result)


运行结果:

圆周率取两位小数是:3.14

结合 `round()` 和 `f-string` 可以达到操作数值同时美化输出的目的。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

某一个“天” 发表于 昨天 17:11

{:10_256:}
页: [1]
查看完整版本: 《笨办法学Python》习题5:更多变量与打印练习