@浙大疏锦行
debuger要求环境为3.8以上这里重新安装一下anaconda环境
conda create -n kk python=3.8
conda activate kk
pip install pywinpty --only-binary=:all:
pip install jupyter -i https://mirrors.aliyun.com/pypi/simple
pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install numpy scipy pandas seaborn matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install lightgbm xgboost -i https://pypi.tuna.tsinghua.edu.cn/simple
1
2
3
a=1
b=1
c=1
#法一
print(a)
print(b)
print(c)
#法二
a=1,b=2,c=3
print(a,b,c)
print()
#法三
a,b,c=1,2,3
print(a, b, c, sep='\n') # 用换行符作为分隔符
如何只用 一个 print() 函数调用就实现上面分三行的输出效果?(提示:换行符 \n)
也即法三的方法
姓名: 小明, 城市: 北京
#法一
name = "小明"
city = "北京"
print(f"我的名字是{name},我住在{city}。")
进阶思考:
若要在姓名两侧加上引号,则用到单双引号嵌套
# 姓名两侧加上引号如何写?
name = "小明"
city = "北京"
print(f'姓名: "{name}", 城市: {city}')
#法二
print(f'姓名: "{name}"\n城市: {city}')
法一输出为:
姓名: "小明", 城市: 北京
法二输出为:
姓名: "小明"
城市: 北京
代码:
## 变量的基础运算
num1 = 20
num2 = 8
a = num1 + num2 # 计算和
b = num1 / num2 # 计算商
c = num1 % num2 # 计算余数
# 使用f-string分三行打印结果
print(f"{num1} 加 {num2} 的结果是:{a}")
print(f"{num1} 除以 {num2} 的商是:{b}")
print(f"{num1} 除以 {num2} 的余数是:{c}")
输出 :
20 加 8 的结果是:28
20 除以 8 的商是:2.5
20 除以 8 的余数是:4
拓展1:此处的f意思是什么?
在 Python 中, f 是在字符串前的前缀,带有 f 前缀的字符串被称为 f-string (格式化字符串字面值,Formatted String Literals),从 Python 3.6 版本开始引入。f-string 提供了一种简洁且直观的方式来将变量值插入到字符串中。
### 基本语法
在字符串前加上 f 或者 F ,然后在字符串里使用大括号 {} 包裹变量名或者表达式,Python 会在运行时把大括号内的内容替换为对应的变量值或者表达式的计算结果。
### 代码解释
以 print(f"{a}\n{b}\n{c}") 为例:
- f 前缀表明这是一个 f-string。
- {a} 、 {b} 和 {c} 是占位符,Python 会把它们分别替换为变量 a 、 b 和 c 的实际值。
- \n 是换行符,用于在输出时进行换行操作。
### 优点
- 简洁性 :相比传统的字符串格式化方法(如 % 格式化和 str.format() 方法),f-string 的语法更加简洁直观。
- 可读性 :变量名直接嵌入在字符串中,使得代码的意图更加清晰。
- 高效性 :f-string 在运行时进行求值,性能上通常优于其他格式化方法。
● 题目二: 定义两个浮点数变量,price 赋值为 19.9,discount 赋值为 0.8 (表示 8 折)。计算折扣后的价格,并将结果存储在变量 final_price 中;计算节省了多少钱,存储在变量 saved_amount 中。然后,使用 f-string 分两行打印出类似以下格式的信息:
最终价格是: 15.92
节省金额是: 3.98
代码:
price = 19.9 discount = 0.8 final_price = price * discount # 计算折扣后价格 saved_amount = price - final_price # 计算节省金额 # 使用f-string分两行打印结果 print(f"最终价格是: {final_price:.2f}") print(f"节省金额是: {saved_amount:.2f}")
输出:
最终价格是: 15.92 节省金额是: 3.98
拓展题目一:复杂数据结构的格式化输出
定义一个嵌套字典,用于存储一个班级学生的信息。每个学生有姓名、年龄、成绩(数学、英语、语文)。使用一个 print 函数和 f-string 分多行输出每个学生的详细信息,包括总分和平均分,并且格式化输出结果,保留两位小数。
代码:
students = { "001": { "name": "Alice", "age": 18, "scores": { "math": 85, "english": 90, "chinese": 88 } }, "002": { "name": "Bob", "age": 17, "scores": { "math": 92, "english": 87, "chinese": 95 } } }
输出:
学生编号: 001 姓名: Alice 年龄: 18 数学成绩: 85 英语成绩: 90 语文成绩: 88 总分: 263.00 平均分: 87.67 学生编号: 002 姓名: Bob 年龄: 17 数学成绩: 92 英语成绩: 87 语文成绩: 95 总分: 274.00 平均分: 91.33
拓展题目二:动态生成表格并输出
定义两个列表,一个存储列名,另一个存储多行数据。使用一个 print 函数和 f-string 输出一个格式化的表格。表格需要有表头,每列宽度固定,数据需要居中对齐。
代码:
headers = ["姓名", "年龄", "职业"] data = [ ["Alice", 25, "工程师"], ["Bob", 30, "设计师"], ["Charlie", 22, "学生"] ]
输出:
| 姓名 | 年龄 | 职业 | |--------|--------|--------| | Alice | 25 | 工程师 | | Bob | 30 | 设计师 | | Charlie| 22 | 学生 |