打印每一天 (for 定义取值范围) 直接写 (1):
initial_amount = 100000
growth_rate = 1.1
for day in range(7) :
initial_amount *= growth_rate
print(f"第{day+1}天的金额是:{initial_amount}")
# 为什么用{day+1}
在这个循环中,`range(7)` 生成的序列是 `0, 1, 2, 3, 4, 5, 6` 。
当您使用 `f-string` 打印 `day` 时,如果您希望显示的是从第 1 天开始到第 7 天,那么使用 `{day + 1}` 会更符合直观的理解,即显示为“第 1 天”“第 2 天”等。
但如果您直接使用 `{day}` ,那么显示的就是“第 0 天”“第 1 天”等。
两种方式都能正确运行代码,只是显示的结果在天数的表述上有所不同,具体使用哪种取决于您希望呈现的效果。在这个例子中,没有使用 `{day + 1}` 只是选择了直接从 0 开始计数并展示天数。
打印每一天 for(for 定义取值范围) 匿名函数写 (2):
initial_amount = 100000
growth_rate = 1.1
growth_func = lambda x , rate , days : x * (rate ** days) #定义函数公式, x rate days 等待赋值
#切记lambda 后不能用 ()
for day in range(7) : #定义day取值范围
amount = growth_func(initial_amount,growth_rate,day + 1) #day + 1 表示从第一天开始计算
print(f'第{day +1}天的金额是:{amount}')
打印定义天数结果 (直接def 定义取值范围) 直接写 (1):
initial_amount = 100000
growth_rate = 1.1
def df (initial, rate, day): #定义公式的3个函数名称 此处 :英文冒号不要漏
return initial * (rate ** day) #返回这个公式的值
amount = df(initial_amount , growth_rate , 7) #分别赋值给 def定义的函数名称
print(f'第7天的金额是:{amount}')
打印定义天数结果 (直接定义天数,匿名函数lambda) (2):
initial_amount = 100000
growth_rate = 1.1
growth_func = lambda x , rate , days : x * (rate ** days) #定义匿名函数公式
amount = growth_func(initial_amount , growth_rate , 7) #赋值给lambda 匿名函数的3个值
print(f'第7天的金额是:{amount}')
总结 :
以下是容易漏写,错写
def 定义函数名称要加(),且后面要添加英文冒号
结果用return 写公式返回值
例:
def df (initial, rate, day): #定义公式的3个函数名称 此处 :英文冒号不要漏
return initial * (rate ** day) #返回这个公式的值
lambda 匿名函数 ,定义函数名称不要加(),直接在函数名称后,在 :(英文冒号)后写公式
growth_func = lambda x , rate , days : x * (rate ** days)
例 :
不管用def 还是 lambda 都要给函数名称赋值:
amount = df(initial_amount , growth_rate , 7) #分别赋值给 def定义的函数名称
切记在 Python 中,f'
或 f" "
是格式化字符串的前缀,称为 f-string
。
它允许您在字符串中嵌入表达式,并在字符串中直接使用变量的值。