From 7017a76e6bc9a491dc72956052010120ab3ffac4 Mon Sep 17 00:00:00 2001 From: yaunfang01 <10630919+yaunfang01@user.noreply.gitee.com> Date: Mon, 28 Mar 2022 13:08:48 +0000 Subject: [PATCH] update homework_01_python/README.md. --- homework_01_python/README.md | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/homework_01_python/README.md b/homework_01_python/README.md index 87a32c6..fa46438 100644 --- a/homework_01_python/README.md +++ b/homework_01_python/README.md @@ -10,8 +10,9 @@ One is always on a strange road, watching strange scenery and listening to stran **深入思考:** * 写完程序之后反思一下,如果单词之间是两个空格,或者是`\t`的情况下程序会不会有问题? +不会有问题,split的语法格式为split(sep,num),当内容为空时,使用空格,\n,\t作为分隔符,分隔符如果出现在字符串中会被删去,以实现拆分的目的,如果有多个空格则会把多个空格删去,所以空格数量不会影响程序的实现。 * 标点符号如果出现`?`,`/`等和单词挨着,该如何处理? - +我们或许可以试着把所有的单词都挑出来,不是单词的符号都去掉。 ## 2. 组合 @@ -20,6 +21,7 @@ One is always on a strange road, watching strange scenery and listening to stran **深入思考:** * 算法复杂度是? +该算法复杂度O(n3) @@ -36,6 +38,31 @@ One is always on a strange road, watching strange scenery and listening to stran **深入思考:** * 除了用`if`手写,能否用其他方式(例如用list,然后自动实现所有的判断)来实现? +可以使用如下代码实现 +`i=float(input("请输入利润(万元)"))#单位是万 +ls={10:0.1,20:0.075,40:0.05,60:0.03,100:0.015} +a=[] +h=0 +for key in ls.keys(): + a.append(key) +for j in range(len(a)): + if i<=a[j]: + for k in range(j): + print(k) + if a[k]==10: + h+=ls[a[k]]*a[k] + else: + h+=ls[a[k]]*(a[k]-a[k-1]) + h+=(i-a[j-1])*ls[a[j]] + break + elif i>100: + for k in range(j): + h+=ls[a[k]]*(a[k]-a[k-1]) + h+=(i-a[-1])*0.01 + break + else: + continue +print(f"发放的奖金总数为%.2f万元"%h)` -- Gitee