#13 第10周作业

Open
opened 3 years ago by 助教 · 18 comments
助教 commented 3 years ago

1、4.3.2-4.3.4,按题目要求保存并提交。
2、4.4.1-4.4.2,按题目要求保存并提交。
以上作业不迟于周六上午9点提交至水杉码园学号仓库的homework10分支下。


水杉码园上的本次作业要求:https://gitea.shuishan.net.cn/Comp-Prog-A.Liuyao.2021Fall.ShengHuan/AllStuRead/issues/13

腾讯工蜂上的本次作业要求:https://git.code.tencent.com/Comp-Prog-A.Liuyao.Shenghuan.2021.Fall/lesson10/issues/1

腾讯工蜂上的本次课程材料(课件及素材等):https://git.code.tencent.com/Comp-Prog-A.Liuyao.Shenghuan.2021.Fall/lesson10/tree/master

1、4.3.2-4.3.4,按题目要求保存并提交。 2、4.4.1-4.4.2,按题目要求保存并提交。 以上作业不迟于周六上午9点提交至水杉码园学号仓库的homework10分支下。 ----- 水杉码园上的本次作业要求:https://gitea.shuishan.net.cn/Comp-Prog-A.Liuyao.2021Fall.ShengHuan/AllStuRead/issues/13 腾讯工蜂上的本次作业要求:https://git.code.tencent.com/Comp-Prog-A.Liuyao.Shenghuan.2021.Fall/lesson10/issues/1 腾讯工蜂上的本次课程材料(课件及素材等):https://git.code.tencent.com/Comp-Prog-A.Liuyao.Shenghuan.2021.Fall/lesson10/tree/master

image 请问有好心人可以解答一下输入10的输出为什么和答案所给不一样吗?

![![image](/attachments/844f39cb-0c3a-433d-b36a-35b5fe5d38a7)](http://) 请问有好心人可以解答一下输入10的输出为什么和答案所给不一样吗?
助教 commented 3 years ago
Owner

@10214302413 我算了下,跟你结果一样的,不知道你这个是哪的题。

@10214302413 我算了下,跟你结果一样的,不知道你这个是哪的题。

@10214302413 我算了下,跟你结果一样的,不知道你这个是哪的题。

谢谢老师!
是水杉门户上《计算机与程序设计基础(A)》中的题目

> @10214302413 我算了下,跟你结果一样的,不知道你这个是哪的题。 谢谢老师! 是水杉门户上《计算机与程序设计基础(A)》中的题目

L=[20, 25, 30, 35, 40, 45, 50, 55]
Lc=[]
for target in L:
left,right=0,len(L)-1
c=0
while left<right:
mid=(left+right)//2
c+=1
if target>L[mid]:
left=mid+1
elif target<L[mid]:
right=mid-1
else:
Lc.append(c)
break
print(dict(zip(L,Lc)))
输出是{20: 2, 25: 1, 30: 2, 35: 3}
为什么呀

L=[20, 25, 30, 35, 40, 45, 50, 55] Lc=[] for target in L: left,right=0,len(L)-1 c=0 while left<right: mid=(left+right)//2 c+=1 if target>L[mid]: left=mid+1 elif target<L[mid]: right=mid-1 else: Lc.append(c) break print(dict(zip(L,Lc))) 输出是{20: 2, 25: 1, 30: 2, 35: 3} 为什么呀

改成whlie left<=right就好

改成whlie left<=right就好

改成whlie left<=right就好
万分感谢!!

> 改成whlie left<=right就好 > 万分感谢!!

杨辉三角那道题最后如果用书上的
for x in L[i]:
print("{:2d} ".format(x),end="")
会出现'int' object is not iterable,是为什么呢?
而且这个输出来格式也不对,应该改成"{:4d}"

可以直接把填空题的题干改成这样吗(?)
for j in range(i):
print("{:4d}".format(L[i][j]),end='')

杨辉三角那道题最后如果用书上的 for x in L[i]: print("{:2d} ".format(x),end="") 会出现'int' object is not iterable,是为什么呢? 而且这个输出来格式也不对,应该改成"{:4d}" 可以直接把填空题的题干改成这样吗(?) for j in range(i): print("{:4d}".format(L[i][j]),end='')

杨辉三角那道题最后如果用书上的
for x in L[i]:
print("{:2d} ".format(x),end="")
会出现'int' object is not iterable,是为什么呢?
而且这个输出来格式也不对,应该改成"{:4d}"

可以直接把填空题的题干改成这样吗(?)
for j in range(i):
print("{:4d}".format(L[i][j]),end='')

是不是前面哪里写错了,最后的两行是对的

> 杨辉三角那道题最后如果用书上的 > for x in L[i]: > print("{:2d} ".format(x),end="") > 会出现'int' object is not iterable,是为什么呢? > 而且这个输出来格式也不对,应该改成"{:4d}" > > 可以直接把填空题的题干改成这样吗(?) > for j in range(i): > print("{:4d}".format(L[i][j]),end='') > 是不是前面哪里写错了,最后的两行是对的

!真的吗 求助万能列表帮我看看列表qwq

n=int(input("n="))
L=[1,[1,1]]
for i in range(2,n):
sub=[1]
for j in range(1,i):
sub.append(L[i-1][j-1]+L[i-1][j])
sub.append(1)
L.append(sub)

for i in range(n):
for j in range(n-i-1):
print(" ",end="")
for j in range(i):
print("{:4d}".format(L[i][j]),end='')
print()

!真的吗 求助万能列表帮我看看列表qwq n=int(input("n=")) L=[1,[1,1]] for i in range(2,n): sub=[1] for j in range(1,i): sub.append(L[i-1][j-1]+L[i-1][j]) sub.append(1) L.append(sub) for i in range(n): for j in range(n-i-1): print(" ",end="") for j in range(i): print("{:4d}".format(L[i][j]),end='') print()

!真的吗 求助万能列表帮我看看列表qwq

n=int(input("n="))
L=[1,[1,1]]
for i in range(2,n):
sub=[1]
for j in range(1,i):
sub.append(L[i-1][j-1]+L[i-1][j])
sub.append(1)
L.append(sub)

for i in range(n):
for j in range(n-i-1):
print(" ",end="")
for j in range(i):
print("{:4d}".format(L[i][j]),end='')
print()
L一开始输入错啦,应该是1],[1,1

> !真的吗 求助万能列表帮我看看列表qwq > > n=int(input("n=")) > L=[1,[1,1]] > for i in range(2,n): > sub=[1] > for j in range(1,i): > sub.append(L[i-1][j-1]+L[i-1][j]) > sub.append(1) > L.append(sub) > > for i in range(n): > for j in range(n-i-1): > print(" ",end="") > for j in range(i): > print("{:4d}".format(L[i][j]),end='') > print() L一开始输入错啦,应该是[[1],[1,1]]

!谢谢!现在撤回还来得及吗 没有表情包无法表达我的尴尬

!谢谢!~~现在撤回还来得及吗 没有表情包无法表达我的尴尬~~

有没有好兄弟教教插入排序那个题的第五空填什么呀。。万分感谢

有没有好兄弟教教插入排序那个题的第五空填什么呀。。万分感谢

@10214304435
我这边插入是(1):1
(2):s[i]
(3):i-1
(4):s[j+1]=s[j]
(5):s[j+1]
应该没问题

@10214304435 我这边插入是(1):1 (2):s[i] (3):i-1 (4):s[j+1]=s[j] (5):s[j+1] 应该没问题

有没有好兄弟教教插入排序那个题的第五空填什么呀。。万分感谢
写出来了。。

> 有没有好兄弟教教插入排序那个题的第五空填什么呀。。万分感谢 > 写出来了。。

想问一下这个里面输入n,n是等于1吗?(这个问题好傻但我真不知道)
如果输入1的话结果只出来一个1,所以我是有空填错了吗?(依照书上算法设计填的)【我看了上面那位同学的,好像后面不是填空的地方也改了(没有冒犯的意思)】
n=int(input("n="))
L=1],[1,1
for i in range(2,n):
sub=[1]
for j in range(1,i+1):
sub.append(L[i-1][j]+L[i-1][j-1])
sub.append(1)
L.append(sub)
for i in range(n):
for j in range(n-i-1):
print(" ",end="")
for x in L[i]:
print("{:2d} ".format(x),end="")
print()

想问一下这个里面输入n,n是等于1吗?(这个问题好傻但我真不知道) 如果输入1的话结果只出来一个1,所以我是有空填错了吗?(依照书上算法设计填的)【我看了上面那位同学的,好像后面不是填空的地方也改了(没有冒犯的意思)】 n=int(input("n=")) L=[[1],[1,1]] for i in range(2,n): sub=[1] for j in range(1,i+1): sub.append(L[i-1][j]+L[i-1][j-1]) sub.append(1) L.append(sub) for i in range(n): for j in range(n-i-1): print(" ",end="") for x in L[i]: print("{:2d} ".format(x),end="") print()
助教 commented 3 years ago
Owner

@10214304437 输入的n表示需要输出多少行杨辉三角,1表示输出第一行的确只有一个1。在生成杨辉三角数据中j只需遍历1到i-1,因为两端0号位和最后一个i号位数值固定都是1。

@10214304437 输入的n表示需要输出多少行杨辉三角,1表示输出第一行的确只有一个1。在生成杨辉三角数据中j只需遍历1到i-1,因为两端0号位和最后一个i号位数值固定都是1。

友友们,最后一个作业题是什么思路啊,我就只能写成这样,是思路不对吗,还是再需要怎么改改

友友们,最后一个作业题是什么思路啊,我就只能写成这样,是思路不对吗,还是再需要怎么改改
助教 commented 3 years ago
Owner

@10214304408 最后再把list用逗号拼接成字符串就行:",".join(L)

@10214304408 最后再把list用逗号拼接成字符串就行:",".join(L)
Sign in to join this conversation.
No Label
No Milestone
No Assignees
8 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.