#9 第11周作业(心院班)

오픈
test20222 년 전을 오픈 · 46개의 코멘트
test2022 코멘트됨, 2 년 전

第11周作业(心院班)
1、完成实践4的4.3.2-4.3.4,以及4.4.1-4.4.2,按题目要求保存并提交。
(作业名为sy4-6.py、sy4-7.py、sy4-8.py、sy4-9.py、sy4-10.py)
以上作业不迟于周五晚提交至水杉码园学号仓库的homework11分支下。


水杉码园上的本次作业要求:https://gitea.shuishan.net.cn/Comp-Prog-A.Liuyao.2022Fall.XinYuan/AllStuRead/issues/9
实验素材请参考AllStuRead仓库的范例、素材(学生).zip

第11周作业(心院班) 1、完成实践4的4.3.2-4.3.4,以及4.4.1-4.4.2,按题目要求保存并提交。 **(作业名为sy4-6.py、sy4-7.py、sy4-8.py、sy4-9.py、sy4-10.py)** 以上作业不迟于周五晚提交至水杉码园学号仓库的homework11分支下。 ----- 水杉码园上的本次作业要求:https://gitea.shuishan.net.cn/Comp-Prog-A.Liuyao.2022Fall.XinYuan/AllStuRead/issues/9 实验素材请参考AllStuRead仓库的范例、素材(学生).zip
金丹妍 코멘트됨, 2 년 전

想问问书本(课本,非实验书)P128的例3-4-3,它的代码好像没有控制“输入的值=-1,循环结束”这个条件?

想问问书本(课本,非实验书)P128的例3-4-3,它的代码好像没有控制“输入的值=-1,循环结束”这个条件?
金丹妍 코멘트됨, 2 년 전

想问问书本(课本,非实验书)P131的例3-4-5,它的代码倒数第二行,是不是应该是s=s[:-1]呀?

想问问书本(课本,非实验书)P131的例3-4-5,它的代码倒数第二行,是不是应该是s=s[:-1]呀?
赖婉蓉 코멘트됨, 2 년 전

请问实践4的4.3.2的3.算法应用中“搜索区域初始化”这一步骤是什么意思?

请问实践4的4.3.2的3.算法应用中“搜索区域初始化”这一步骤是什么意思?
李雨逊 코멘트됨, 2 년 전

请问实践4的4.3.2的3.算法应用中“搜索区域初始化”这一步骤是什么意思?

你大概可以理解成规定接下来进行查找时的第一个区域,也就是整个L

> 请问实践4的4.3.2的3.算法应用中“搜索区域初始化”这一步骤是什么意思? 你大概可以理解成规定接下来进行查找时的第一个区域,也就是整个L
陈柏宇 코멘트됨, 2 년 전

想问问书本(课本,非实验书)P128的例3-4-3,它的代码好像没有控制“输入的值=-1,循环结束”这个条件?
确实是书上少写了-1的判断循环,全选代码tab缩进嵌套在更大的if判断里就可以了。

> 想问问书本(课本,非实验书)P128的例3-4-3,它的代码好像没有控制“输入的值=-1,循环结束”这个条件? 确实是书上少写了-1的判断循环,全选代码tab缩进嵌套在更大的if判断里就可以了。
陈柏宇 코멘트됨, 2 년 전

想问问书本(课本,非实验书)P131的例3-4-5,它的代码倒数第二行,是不是应该是s=s[:-1]呀?

有没有一种可能~加号占3个字符位置?如果不是那就改成[:-1]

> 想问问书本(课本,非实验书)P131的例3-4-5,它的代码倒数第二行,是不是应该是s=s[:-1]呀? 有没有一种可能~加号占3个字符位置?如果不是那就改成[:-1]
王浩全 코멘트됨, 2 년 전

image 请问是哪里出了问题

![image](/attachments/4f32eac4-8cea-4102-8d30-d18928a59397) 请问是哪里出了问题
test2022 코멘트됨, 2 년 전
소유자

image 请问是哪里出了问题

sy4-6第6行应该是left<=right

> ![image](/attachments/4f32eac4-8cea-4102-8d30-d18928a59397) > 请问是哪里出了问题 sy4-6第6行应该是left<=right
张琪涵 코멘트됨, 2 년 전

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=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() 请问是哪一步出错了? 缩进被吞掉了,正确缩进了的
颜卓豪 코멘트됨, 2 년 전

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=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() > > 请问是哪一步出错了? 第五行的范围不太对
梁馨 코멘트됨, 2 년 전

s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],
[10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],
[10170110313,1500,300],[10170110314,2500,600]]
if s[0][0]%2==0: #为第一个元素计算本月津贴发放数
s[0].append(s[0][1]+s[0][2])
else:
s[0].append(s[0][1])
for i in range(1,len(s)):
r=s[i] #取出待插入数
if r[0]%2==0: #计算本月津贴发放数
r.append(r[1]+r[2])
else:
r.append(r[1])
#查找插入位置
j=len(s)
while j>=0:
if s[j][3]<r[3]:
r,s[j]=s[j],r
else:
break
j=j-1
s[j]=r #插入
print("工号\t\t本月津贴")
for x in s:
print("{:d}\t{:d}".format(x[0],x[3]))

请问为什么一直在#查找插入位置下的if处报错

s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],\ [10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],\ [10170110313,1500,300],[10170110314,2500,600]] if s[0][0]%2==0: #为第一个元素计算本月津贴发放数 s[0].append(s[0][1]+s[0][2]) else: s[0].append(s[0][1]) for i in range(1,len(s)): r=s[i] #取出待插入数 if r[0]%2==0: #计算本月津贴发放数 r.append(r[1]+r[2]) else: r.append(r[1]) #查找插入位置 j=len(s) while j>=0: if s[j][3]<r[3]: r,s[j]=s[j],r else: break j=j-1 s[j]=r #插入 print("工号\t\t本月津贴") for x in s: print("{:d}\t{:d}".format(x[0],x[3])) 请问为什么一直在#查找插入位置下的if处报错
胡轩铭 코멘트됨, 2 년 전

s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],
[10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],
[10170110313,1500,300],[10170110314,2500,600]]
if s[0][0]%2==0: #为第一个元素计算本月津贴发放数
s[0].append(s[0][1]+s[0][2])
else:
s[0].append(s[0][1])
for i in range(1,len(s)):
r=s[i] #取出待插入数
if r[0]%2==0: #计算本月津贴发放数
r.append(r[1]+r[2])
else:
r.append(r[1])
#查找插入位置
j=len(s)
while j>=0:
if s[j][3]<r[3]:
r,s[j]=s[j],r
else:
break
j=j-1
s[j]=r #插入
print("工号\t\t本月津贴")
for x in s:
print("{:d}\t{:d}".format(x[0],x[3]))

请问为什么一直在#查找插入位置下的if处报错

因为不存在s[len(s)]呀

> s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],\ > [10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],\ > [10170110313,1500,300],[10170110314,2500,600]] > if s[0][0]%2==0: #为第一个元素计算本月津贴发放数 > s[0].append(s[0][1]+s[0][2]) > else: > s[0].append(s[0][1]) > for i in range(1,len(s)): > r=s[i] #取出待插入数 > if r[0]%2==0: #计算本月津贴发放数 > r.append(r[1]+r[2]) > else: > r.append(r[1]) > #查找插入位置 > j=len(s) > while j>=0: > if s[j][3]<r[3]: > r,s[j]=s[j],r > else: > break > j=j-1 > s[j]=r #插入 > print("工号\t\t本月津贴") > for x in s: > print("{:d}\t{:d}".format(x[0],x[3])) > > 请问为什么一直在#查找插入位置下的if处报错 因为不存在s[len(s)]呀
曹曦丹 코멘트됨, 2 년 전

s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],
[10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],
[10170110313,1500,300],[10170110314,2500,600]]
if s[0][0]%2==0: #为第一个元素计算本月津贴发放数
s[0].append(s[0][1]+s[0][2])
else:
s[0].append(s[0][1])
for i in range(1,len(s)):
r=s[i] #取出待插入数
if r[0]%2==0: #计算本月津贴发放数
r.append(r[1]+r[2])
else:
r.append(r[1])
#查找插入位置
j=len(s)
while j>=0:
if s[j][3]<r[3]:
r,s[j]=s[j],r
else:
break
j=j-1
s[j]=r #插入
print("工号\t\t本月津贴")
for x in s:
print("{:d}\t{:d}".format(x[0],x[3]))

请问为什么一直在#查找插入位置下的if处报错
可能因为i<len(s),还没有遍历到出现s[j][3]

> s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],\ > [10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],\ > [10170110313,1500,300],[10170110314,2500,600]] > if s[0][0]%2==0: #为第一个元素计算本月津贴发放数 > s[0].append(s[0][1]+s[0][2]) > else: > s[0].append(s[0][1]) > for i in range(1,len(s)): > r=s[i] #取出待插入数 > if r[0]%2==0: #计算本月津贴发放数 > r.append(r[1]+r[2]) > else: > r.append(r[1]) > #查找插入位置 > j=len(s) > while j>=0: > if s[j][3]<r[3]: > r,s[j]=s[j],r > else: > break > j=j-1 > s[j]=r #插入 > print("工号\t\t本月津贴") > for x in s: > print("{:d}\t{:d}".format(x[0],x[3])) > > 请问为什么一直在#查找插入位置下的if处报错 可能因为i<len(s),还没有遍历到出现s[j][3]
金丹妍 코멘트됨, 2 년 전

想问问书本(课本,非实验书)P140的最上面,按照字符串排序,当字符串长度相同时,按照什么顺序排列呀?比如其中的'This','from','Song'?

想问问书本(课本,非实验书)P140的最上面,按照字符串排序,当字符串长度相同时,按照什么顺序排列呀?比如其中的'This','from','Song'?
李子妍 코멘트됨, 2 년 전

请问应该怎么把输入的x变成不重复的数字?需要放到列表中吗?
我的代码如下:
x=input('输入:')
L=[]
L.extend(x)
set(L)
L.sort()
L1=[]
n=0
if len(L)<3:
print('不足三位数')
else:
for i in range(0,len(L)):
if L[i]!=0:
for a in range(0,len(L)):
for b in range(0,len(L)):
for c in range(0,len(L)):
if a!=b and b!=c and a!=c:
n+=1
L1.append('{}{}{}'.format(a,b,c))
else:
for a in range(0,i)and range(i+1,len(L)):
for b in range(0,len(L)):
for c in range(0,len(L)):
if a!=b and b!=c and a!=c:
n+=1
L1.append('{}{}{}'.format(a,b,c))
for i in L1:
print(i,end=' ')
print('共{}个'.format(n))

请问应该怎么把输入的x变成不重复的数字?需要放到列表中吗? 我的代码如下: x=input('输入:') L=[] L.extend(x) set(L) L.sort() L1=[] n=0 if len(L)<3: print('不足三位数') else: for i in range(0,len(L)): if L[i]!=0: for a in range(0,len(L)): for b in range(0,len(L)): for c in range(0,len(L)): if a!=b and b!=c and a!=c: n+=1 L1.append('{}{}{}'.format(a,b,c)) else: for a in range(0,i)and range(i+1,len(L)): for b in range(0,len(L)): for c in range(0,len(L)): if a!=b and b!=c and a!=c: n+=1 L1.append('{}{}{}'.format(a,b,c)) for i in L1: print(i,end=' ') print('共{}个'.format(n))
朱逸 코멘트됨, 2 년 전

请问要怎么查找插入位置呢.......这个J的条件是什么呢?
s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],
[10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],
[10170110313,1500,300],[10170110314,2500,600]]

if s[0][0]%2==0: #为第一个元素计算本月津贴发放数
s[0].append(s[0][1]+s[0][2])
else:
s[0].append(s[0][1])
for i in range(1,len(s)):
r=s[i] #取出待插入数
if r[0]%2==0: #计算本月津贴发放数
r.append(r[1]+r[2])
else:
r.append(r[1])
#查找插入位置
j= 1
while j>=0 :

            if s[j][3]<r[3]:
                    s[j][3]=s[j-1]                  
            else:
                    break
            j=j-1
            s=r               #插入

print("工号\t\t本月津贴")
for x in s:
print("{:d}\t{:d}".format(x[0],x[3]))

请问要怎么查找插入位置呢.......这个J的条件是什么呢? s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],\ [10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],\ [10170110313,1500,300],[10170110314,2500,600]] if s[0][0]%2==0: #为第一个元素计算本月津贴发放数 s[0].append(s[0][1]+s[0][2]) else: s[0].append(s[0][1]) for i in range(1,len(s)): r=s[i] #取出待插入数 if r[0]%2==0: #计算本月津贴发放数 r.append(r[1]+r[2]) else: r.append(r[1]) #查找插入位置 j= 1 while j>=0 : if s[j][3]<r[3]: s[j][3]=s[j-1] else: break j=j-1 s=r #插入 print("工号\t\t本月津贴") for x in s: print("{:d}\t{:d}".format(x[0],x[3]))
朱逸 코멘트됨, 2 년 전

怎么改变列表中的数?

group='鲁智深 柴进 宋江 林冲 卢俊义 孙二娘 史进 吴用 李逵'
footBallGroup='吴用 卢俊义 鲁智深'
pingpangGroup='林冲 孙二娘 李逵'
L1=group.split(' ')
L2=footBallGroup.split(' ')
L3=pingpangGroup.split(' ')
for x in range(0,len(L1)):
for j in L2:
if L1[x]==j:
L1[x]=L1[x]+'足球'
for y in L3:
if L1(x)==y:
L1(x)=L1(x)+'乒乓'

print(L1)

怎么改变列表中的数? group='鲁智深 柴进 宋江 林冲 卢俊义 孙二娘 史进 吴用 李逵' footBallGroup='吴用 卢俊义 鲁智深' pingpangGroup='林冲 孙二娘 李逵' L1=group.split(' ') L2=footBallGroup.split(' ') L3=pingpangGroup.split(' ') for x in range(0,len(L1)): for j in L2: if L1[x]==j: L1[x]=L1[x]+'足球' for y in L3: if L1(x)==y: L1(x)=L1(x)+'乒乓' print(L1)
陈昊阳 코멘트됨, 2 년 전

求助
image image 注意while下面那一行。我明明写的和书上一样,为啥有bug(奇了怪了,离谱啊) 求助?感谢诸位

求助 ![image](/attachments/60fe26b5-d579-4c4d-a527-060d534b22d4) ![image](/attachments/625cbbf8-102e-486c-96c4-8abc36ec8f72) 注意while下面那一行。我明明写的和书上一样,为啥有bug(奇了怪了,离谱啊) 求助?感谢诸位
蒋路阳 코멘트됨, 2 년 전

怎么改变列表中的数?

group='鲁智深 柴进 宋江 林冲 卢俊义 孙二娘 史进 吴用 李逵'
footBallGroup='吴用 卢俊义 鲁智深'
pingpangGroup='林冲 孙二娘 李逵'
L1=group.split(' ')
L2=footBallGroup.split(' ')
L3=pingpangGroup.split(' ')
for x in range(0,len(L1)):
for j in L2:
if L1[x]==j:
L1[x]=L1[x]+'足球'
for y in L3:
if L1(x)==y:
L1(x)=L1(x)+'乒乓'

print(L1)
第二个括号应该是[]

> 怎么改变列表中的数? > > group='鲁智深 柴进 宋江 林冲 卢俊义 孙二娘 史进 吴用 李逵' > footBallGroup='吴用 卢俊义 鲁智深' > pingpangGroup='林冲 孙二娘 李逵' > L1=group.split(' ') > L2=footBallGroup.split(' ') > L3=pingpangGroup.split(' ') > for x in range(0,len(L1)): > for j in L2: > if L1[x]==j: > L1[x]=L1[x]+'足球' > for y in L3: > if L1(x)==y: > L1(x)=L1(x)+'乒乓' > > print(L1) 第二个括号应该是[]
蒋路阳 코멘트됨, 2 년 전

请问应该怎么把输入的x变成不重复的数字?需要放到列表中吗?
我的代码如下:
x=input('输入:')
L=[]
L.extend(x)
set(L)
L.sort()
L1=[]
n=0
if len(L)<3:
print('不足三位数')
else:
for i in range(0,len(L)):
if L[i]!=0:
for a in range(0,len(L)):
for b in range(0,len(L)):
for c in range(0,len(L)):
if a!=b and b!=c and a!=c:
n+=1
L1.append('{}{}{}'.format(a,b,c))
else:
for a in range(0,i)and range(i+1,len(L)):
for b in range(0,len(L)):
for c in range(0,len(L)):
if a!=b and b!=c and a!=c:
n+=1
L1.append('{}{}{}'.format(a,b,c))
for i in L1:
print(i,end=' ')
print('共{}个'.format(n))

查重可以用for循环遍历 然后如果元素不在查重后的列表里那就把他添加到列表

> 请问应该怎么把输入的x变成不重复的数字?需要放到列表中吗? > 我的代码如下: > x=input('输入:') > L=[] > L.extend(x) > set(L) > L.sort() > L1=[] > n=0 > if len(L)<3: > print('不足三位数') > else: > for i in range(0,len(L)): > if L[i]!=0: > for a in range(0,len(L)): > for b in range(0,len(L)): > for c in range(0,len(L)): > if a!=b and b!=c and a!=c: > n+=1 > L1.append('{}{}{}'.format(a,b,c)) > else: > for a in range(0,i)and range(i+1,len(L)): > for b in range(0,len(L)): > for c in range(0,len(L)): > if a!=b and b!=c and a!=c: > n+=1 > L1.append('{}{}{}'.format(a,b,c)) > for i in L1: > print(i,end=' ') > print('共{}个'.format(n)) > > 查重可以用for循环遍历 然后如果元素不在查重后的列表里那就把他添加到列表
李晨星 코멘트됨, 2 년 전

已经要求i!=0了为什么还会有0作为第一位,好崩溃

已经要求i!=0了为什么还会有0作为第一位,好崩溃
张羽欣 코멘트됨, 2 년 전

已经要求i!=0了为什么还会有0作为第一位,好崩溃

好像因为列表里的0是字符串,“!=0”的0是数字

> 已经要求i!=0了为什么还会有0作为第一位,好崩溃 好像因为列表里的0是字符串,“!=0”的0是数字
刘安琪 코멘트됨, 2 년 전

4.3.3 run之后很奇怪
if s[0][0]%2==0: #为第一个元素计算本月津贴发放数
s[0].append(s[0][1]+s[0][2])
else:
s[0].append(s[0][1])
for i in range(1,len(s)):
r=s[i] #取出待插入数
if r[0]%2==0: #计算本月津贴发放数
r.append(r[1]+r[2])
else:
r.append(r[1])
#查找插入位置
j=i-1
while j>=0 :
if s[j][3]<r[3]:
r,s[j]=s[j],r
else:
break
j=j-1
s[j]=r #插入
print("工号\t\t本月津贴")
for x in s:
print("{:d}\t{:d}".format(x[0],x[3]))
工号 本月津贴
10170110308 2300
10170110309 2500
10170110310 2000
10170110311 2100
10170110312 3700
10170110313 1500
10170110314 3100
10170110314 3100

4.3.3 run之后很奇怪 if s[0][0]%2==0: #为第一个元素计算本月津贴发放数 s[0].append(s[0][1]+s[0][2]) else: s[0].append(s[0][1]) for i in range(1,len(s)): r=s[i] #取出待插入数 if r[0]%2==0: #计算本月津贴发放数 r.append(r[1]+r[2]) else: r.append(r[1]) #查找插入位置 j=i-1 while j>=0 : if s[j][3]<r[3]: r,s[j]=s[j],r else: break j=j-1 s[j]=r #插入 print("工号\t\t本月津贴") for x in s: print("{:d}\t{:d}".format(x[0],x[3])) 工号 本月津贴 10170110308 2300 10170110309 2500 10170110310 2000 10170110311 2100 10170110312 3700 10170110313 1500 10170110314 3100 10170110314 3100
陈昊阳 코멘트됨, 2 년 전

image image image 图三if一行明明是课本的代码,为什么室友的程序正常运行 但是我的不行。。 求求

![image](/attachments/07537e9f-4880-4905-a324-38e1aef776cb) ![image](/attachments/a85e31d5-4d33-47ee-ae54-812b679b5b2e) ![image](/attachments/8350dc7d-a228-4099-947e-ebbfe9d06acc) 图三if一行明明是课本的代码,为什么室友的程序正常运行 但是我的不行。。 求求
马博雯 코멘트됨, 2 년 전

a=input("输入:").split(",")
L1=list(a)
L2=list(set(L1))
n=0
if len(L2)>=3:
for i in range(0,len(L2)):
if int(L2[i])!=0:
for j in range(0,len(L2)):
while int(L2[j])!=int(L2[i]):
for k in range(0,len(L2)):
while (int(L2[k])!=int(L2[i])) and (int(L2[k])!=int(L2[j])):
n+=1
else:
print("不足三位数")

print("输出:")
print(L2[i],L2[j],L2[k],end="")
print("共",n,"个")

请问为啥这个程序run不出结果 救救孩子TAT

a=input("输入:").split(",") L1=list(a) L2=list(set(L1)) n=0 if len(L2)>=3: for i in range(0,len(L2)): if int(L2[i])!=0: for j in range(0,len(L2)): while int(L2[j])!=int(L2[i]): for k in range(0,len(L2)): while (int(L2[k])!=int(L2[i])) and (int(L2[k])!=int(L2[j])): n+=1 else: print("不足三位数") print("输出:") print(L2[i],L2[j],L2[k],end="") print("共",n,"个") 请问为啥这个程序run不出结果 救救孩子TAT
220 KiB
李晨星 코멘트됨, 2 년 전

a=input("输入:").split(",")
L1=list(a)
L2=list(set(L1))
n=0
if len(L2)>=3:
for i in range(0,len(L2)):
if int(L2[i])!=0:
for j in range(0,len(L2)):
while int(L2[j])!=int(L2[i]):
for k in range(0,len(L2)):
while (int(L2[k])!=int(L2[i])) and (int(L2[k])!=int(L2[j])):
n+=1
else:
print("不足三位数")

print("输出:")
print(L2[i],L2[j],L2[k],end="")
print("共",n,"个")

请问为啥这个程序run不出结果 救救孩子TAT

马老师,我把你的while改成if;print提前,就可以跑了(挠头
a=input("输入:").split(",")
L1=list(a)
L2=list(set(L1))
n=0
if len(L2)>=3:
print("输出:")
for i in range(0,len(L2)):
if int(L2[i])!=0:
for j in range(0,len(L2)):
if int(L2[j])!=int(L2[i]):
for k in range(0,len(L2)):
if (int(L2[k])!=int(L2[i])) and (int(L2[k])!=int(L2[j])):
print(L2[i],L2[j],L2[k],end=" ")
n+=1
print("共",n,"个")
else:
print("不足三位数")

> a=input("输入:").split(",") > L1=list(a) > L2=list(set(L1)) > n=0 > if len(L2)>=3: > for i in range(0,len(L2)): > if int(L2[i])!=0: > for j in range(0,len(L2)): > while int(L2[j])!=int(L2[i]): > for k in range(0,len(L2)): > while (int(L2[k])!=int(L2[i])) and (int(L2[k])!=int(L2[j])): > n+=1 > else: > print("不足三位数") > > print("输出:") > print(L2[i],L2[j],L2[k],end="") > print("共",n,"个") > > 请问为啥这个程序run不出结果 救救孩子TAT 马老师,我把你的while改成if;print提前,就可以跑了(挠头 a=input("输入:").split(",") L1=list(a) L2=list(set(L1)) n=0 if len(L2)>=3: print("输出:") for i in range(0,len(L2)): if int(L2[i])!=0: for j in range(0,len(L2)): if int(L2[j])!=int(L2[i]): for k in range(0,len(L2)): if (int(L2[k])!=int(L2[i])) and (int(L2[k])!=int(L2[j])): print(L2[i],L2[j],L2[k],end=" ") n+=1 print("共",n,"个") else: print("不足三位数")
李晨星 코멘트됨, 2 년 전

已经要求i!=0了为什么还会有0作为第一位,好崩溃

好像因为列表里的0是字符串,“!=0”的0是数字

谢谢张老师

> > 已经要求i!=0了为什么还会有0作为第一位,好崩溃 > > 好像因为列表里的0是字符串,“!=0”的0是数字 谢谢张老师
刘芮孜 코멘트됨, 2 년 전

uu们可以帮看看为什么我的sy4-9最后run出来是这样吗(流泪

p=0
n=input().split(",")
n=list(n)
n=list(set(n))
if len(n)>=3:
for j in range(0,len(n)):
if int(n[j])!=0:
for k in range(0,len(n)):
if int(n[k])!=int(n[j]):
for m in range(0,len(n)):
if int(n[m])!=int(n[j]) and int(n[m])!=int(n[k]):
p=p+1
else:
print('不足三位数')

print(n[j],n[k],n[m],end="")
print("共",p,"个")

uu们可以帮看看为什么我的sy4-9最后run出来是这样吗(流泪 p=0 n=input().split(",") n=list(n) n=list(set(n)) if len(n)>=3: for j in range(0,len(n)): if int(n[j])!=0: for k in range(0,len(n)): if int(n[k])!=int(n[j]): for m in range(0,len(n)): if int(n[m])!=int(n[j]) and int(n[m])!=int(n[k]): p=p+1 else: print('不足三位数') print(n[j],n[k],n[m],end="") print("共",p,"个")
31 KiB
33 KiB
池知恒 코멘트됨, 2 년 전

uu们可以帮看看为什么我的sy4-9最后run出来是这样吗(流泪

p=0
n=input().split(",")
n=list(n)
n=list(set(n))
if len(n)>=3:
for j in range(0,len(n)):
if int(n[j])!=0:
for k in range(0,len(n)):
if int(n[k])!=int(n[j]):
for m in range(0,len(n)):
if int(n[m])!=int(n[j]) and int(n[m])!=int(n[k]):
p=p+1
else:
print('不足三位数')

print(n[j],n[k],n[m],end="")
print("共",p,"个")

p=0
n=input().split(",")
n=list(n)
n=list(set(n))
if len(n)>=3:
for j in range(0,len(n)):
if int(n[j])!=0:
for k in range(0,len(n)):
if int(n[k])!=int(n[j]):
for m in range(0,len(n)):
if int(n[m])!=int(n[j]) and int(n[m])!=int(n[k]):
p=p+1
print(n[j],n[k],n[m],sep='',end=' ')
else:
print('不足三位数')
print()
print("共",p,"个")

> uu们可以帮看看为什么我的sy4-9最后run出来是这样吗(流泪 > > p=0 > n=input().split(",") > n=list(n) > n=list(set(n)) > if len(n)>=3: > for j in range(0,len(n)): > if int(n[j])!=0: > for k in range(0,len(n)): > if int(n[k])!=int(n[j]): > for m in range(0,len(n)): > if int(n[m])!=int(n[j]) and int(n[m])!=int(n[k]): > p=p+1 > else: > print('不足三位数') > > print(n[j],n[k],n[m],end="") > print("共",p,"个") > p=0 n=input().split(",") n=list(n) n=list(set(n)) if len(n)>=3: for j in range(0,len(n)): if int(n[j])!=0: for k in range(0,len(n)): if int(n[k])!=int(n[j]): for m in range(0,len(n)): if int(n[m])!=int(n[j]) and int(n[m])!=int(n[k]): p=p+1 print(n[j],n[k],n[m],sep='',end=' ') else: print('不足三位数') print() print("共",p,"个")
徐钟扬 코멘트됨, 2 년 전

group='鲁智深 柴进 宋江 林冲 卢俊义 孙二娘 史进 吴用 李逵'
footBallGroup='吴用 卢俊义 鲁智深'
pingpangGroup='林冲 孙二娘 李逵'
a=group.split()
L=[]
for i in range(0,len(a)):
if a[i] in footBallGroup:
a[i]=a[i]+"(足球)"

elif a[i] in pingpangGroup:
    a[i]=a[i]+"(乒乓)"

print(a)
输出结果:
['鲁智深(足球)', '柴进', '宋江', '林冲(乒乓)', '卢俊义(足球)', '孙二娘(乒乓)', '史进', '吴用(足球)', '李逵(乒乓)']
想问一下输出的时候怎么把每个元素的引号去掉?

group='鲁智深 柴进 宋江 林冲 卢俊义 孙二娘 史进 吴用 李逵' footBallGroup='吴用 卢俊义 鲁智深' pingpangGroup='林冲 孙二娘 李逵' a=group.split() L=[] for i in range(0,len(a)): if a[i] in footBallGroup: a[i]=a[i]+"(足球)" elif a[i] in pingpangGroup: a[i]=a[i]+"(乒乓)" print(a) 输出结果: ['鲁智深(足球)', '柴进', '宋江', '林冲(乒乓)', '卢俊义(足球)', '孙二娘(乒乓)', '史进', '吴用(足球)', '李逵(乒乓)'] 想问一下输出的时候怎么把每个元素的引号去掉?
陈烨馨 코멘트됨, 2 년 전

group='鲁智深 柴进 宋江 林冲 卢俊义 孙二娘 史进 吴用 李逵'
footBallGroup='吴用 卢俊义 鲁智深'
pingpangGroup='林冲 孙二娘 李逵'
a=group.split()
L=[]
for i in range(0,len(a)):
if a[i] in footBallGroup:
a[i]=a[i]+"(足球)"

elif a[i] in pingpangGroup:
    a[i]=a[i]+"(乒乓)"

print(a)
输出结果:
['鲁智深(足球)', '柴进', '宋江', '林冲(乒乓)', '卢俊义(足球)', '孙二娘(乒乓)', '史进', '吴用(足球)', '李逵(乒乓)']
想问一下输出的时候怎么把每个元素的引号去掉?

可以试一下join()函数
a=','.join(str(i) for i in a)

> group='鲁智深 柴进 宋江 林冲 卢俊义 孙二娘 史进 吴用 李逵' > footBallGroup='吴用 卢俊义 鲁智深' > pingpangGroup='林冲 孙二娘 李逵' > a=group.split() > L=[] > for i in range(0,len(a)): > if a[i] in footBallGroup: > a[i]=a[i]+"(足球)" > > elif a[i] in pingpangGroup: > a[i]=a[i]+"(乒乓)" > print(a) > 输出结果: > ['鲁智深(足球)', '柴进', '宋江', '林冲(乒乓)', '卢俊义(足球)', '孙二娘(乒乓)', '史进', '吴用(足球)', '李逵(乒乓)'] > 想问一下输出的时候怎么把每个元素的引号去掉? > 可以试一下join()函数 a=','.join(str(i) for i in a)
朱莲欣 코멘트됨, 2 년 전

a=input().split(",")
c=str()
a=list(set(a))
d=str()
n=0

if len(a)<3:
print("不足三位数")
else:
for x in a:
if x!=0:
for y in a:
for z in a:
if (x!=y) and (y!=z) and (x!=z) and(x!=0):
c=x+y+z
n=n+1
print(x,y,z,sep="")

  print("共",n,"个")

请问为什么0还是会出现在开头

a=input().split(",") c=str() a=list(set(a)) d=str() n=0 if len(a)<3: print("不足三位数") else: for x in a: if x!=0: for y in a: for z in a: if (x!=y) and (y!=z) and (x!=z) and(x!=0): c=x+y+z n=n+1 print(x,y,z,sep="") print("共",n,"个") 请问为什么0还是会出现在开头
池知恒 코멘트됨, 2 년 전

a=input().split(",")
c=str()
a=list(set(a))
d=str()
n=0

if len(a)<3:
print("不足三位数")
else:
for x in a:
if x!=0:
for y in a:
for z in a:
if (x!=y) and (y!=z) and (x!=z) and(x!=0):
c=x+y+z
n=n+1
print(x,y,z,sep="")

  print("共",n,"个")

请问为什么0还是会出现在开头

if x!=0改成 if x!=str(0)

> a=input().split(",") > c=str() > a=list(set(a)) > d=str() > n=0 > > > if len(a)<3: > print("不足三位数") > else: > for x in a: > if x!=0: > for y in a: > for z in a: > if (x!=y) and (y!=z) and (x!=z) and(x!=0): > c=x+y+z > n=n+1 > print(x,y,z,sep="") > > print("共",n,"个") > > 请问为什么0还是会出现在开头 if x!=0改成 if x!=str(0)
杨鑫宇 코멘트됨, 2 년 전

s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],
[10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],
[10170110313,1500,300],[10170110314,2500,600]]

if s[0][0]%2==0: #为第一个元素计算本月津贴发放数
s[0].append(s[0][1]+s[0][2])
else:
s[0].append(s[0][1])
for i in range(1,len(s)):
r=s[i][0] #取出待插入数
if r[0]%2==0: #计算本月津贴发放数
r.append(r[1]+r[2])
else:
r.append(r[1])
#查找插入位置
j=n-1
while j>=0 :

            if s[j][3]<r[3]:
                       (4)                  
            else:
                    break
            j=j-1
       (5)           =r               #插入

print("工号\t\t本月津贴")
for x in s:
print("{:d}\t{:d}".format(x[0],x[3]))

请问为什么这里是 if s[j][3]<r[3]:呢?,r内不是只有两个元素吗

s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],\ [10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],\ [10170110313,1500,300],[10170110314,2500,600]] if s[0][0]%2==0: #为第一个元素计算本月津贴发放数 s[0].append(s[0][1]+s[0][2]) else: s[0].append(s[0][1]) for i in range(1,len(s)): r=s[i][0] #取出待插入数 if r[0]%2==0: #计算本月津贴发放数 r.append(r[1]+r[2]) else: r.append(r[1]) #查找插入位置 j=n-1 while j>=0 : if s[j][3]<r[3]: (4) else: break j=j-1 (5) =r #插入 print("工号\t\t本月津贴") for x in s: print("{:d}\t{:d}".format(x[0],x[3])) 请问为什么这里是 if s[j][3]<r[3]:呢?,r内不是只有两个元素吗
池知恒 코멘트됨, 2 년 전

s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],
[10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],
[10170110313,1500,300],[10170110314,2500,600]]

if s[0][0]%2==0: #为第一个元素计算本月津贴发放数
s[0].append(s[0][1]+s[0][2])
else:
s[0].append(s[0][1])
for i in range(1,len(s)):
r=s[i][0] #取出待插入数
if r[0]%2==0: #计算本月津贴发放数
r.append(r[1]+r[2])
else:
r.append(r[1])
#查找插入位置
j=n-1
while j>=0 :

            if s[j][3]<r[3]:
                       (4)                  
            else:
                    break
            j=j-1
       (5)           =r               #插入

print("工号\t\t本月津贴")
for x in s:
print("{:d}\t{:d}".format(x[0],x[3]))

请问为什么这里是 if s[j][3]<r[3]:呢?,r内不是只有两个元素吗

r=s[i][0]改成r=s[i]

> s=[[10170110307,2700,300],[10170110308,1500,800],[10170110309,2500,600],\ > [10170110310,1500,500],[10170110311,2100,600],[10170110312,3500,200],\ > [10170110313,1500,300],[10170110314,2500,600]] > > if s[0][0]%2==0: #为第一个元素计算本月津贴发放数 > s[0].append(s[0][1]+s[0][2]) > else: > s[0].append(s[0][1]) > for i in range(1,len(s)): > r=s[i][0] #取出待插入数 > if r[0]%2==0: #计算本月津贴发放数 > r.append(r[1]+r[2]) > else: > r.append(r[1]) > #查找插入位置 > j=n-1 > while j>=0 : > > if s[j][3]<r[3]: > (4) > else: > break > j=j-1 > (5) =r #插入 > print("工号\t\t本月津贴") > for x in s: > print("{:d}\t{:d}".format(x[0],x[3])) > > 请问为什么这里是 if s[j][3]<r[3]:呢?,r内不是只有两个元素吗 > r=s[i][0]改成r=s[i]
杨鑫宇 코멘트됨, 2 년 전

图片 请问如何才能把r【3】插入s中呢

![图片](/attachments/0cb3d812-95fa-4743-8b2d-d72748335448) 请问如何才能把r【3】插入s中呢
池知恒 코멘트됨, 2 년 전

图片 请问如何才能把r【3】插入s中呢

s[j+1]=r

> ![图片](/attachments/0cb3d812-95fa-4743-8b2d-d72748335448) > 请问如何才能把r【3】插入s中呢 > s[j+1]=r
杨鑫宇 코멘트됨, 2 년 전

图片这不是自带的代码吗,为什么运行不了啊

![图片](/attachments/0d5f8245-d5e6-4df7-84ec-6305d4aa8406)这不是自带的代码吗,为什么运行不了啊
146 KiB
池知恒 코멘트됨, 2 년 전

图片这不是自带的代码吗,为什么运行不了啊

整行删了之后重新打试试看

> > ![图片](/attachments/0d5f8245-d5e6-4df7-84ec-6305d4aa8406)这不是自带的代码吗,为什么运行不了啊 > 整行删了之后重新打试试看
池知恒 코멘트됨, 2 년 전

图片这不是自带的代码吗,为什么运行不了啊

整行删了之后重新打试试看,或者加个int

> > > > ![图片](/attachments/0d5f8245-d5e6-4df7-84ec-6305d4aa8406)这不是自带的代码吗,为什么运行不了啊 > > > 整行删了之后重新打试试看,或者加个int >
杨鑫宇 코멘트됨, 2 년 전

请问4.4.1如何实现去除重复数字呢

请问4.4.1如何实现去除重复数字呢
池知恒 코멘트됨, 2 년 전

请问4.4.1如何实现去除重复数字呢

a = set(list(s))这是去重函数

> 请问4.4.1如何实现去除重复数字呢 > a = set(list(s))这是去重函数
杨鑫宇 코멘트됨, 2 년 전

图片 图片 请问如何去除引号呢

![图片](/attachments/da674525-b0ab-4002-b20f-3a797f8585f8) ![图片](/attachments/8a9f90a8-0e29-42e7-be9e-db7a7811cf43) 请问如何去除引号呢
颜卓豪 코멘트됨, 2 년 전

图片 图片 请问如何去除引号呢

或许可以换一种思路输出?

> ![图片](/attachments/da674525-b0ab-4002-b20f-3a797f8585f8) > ![图片](/attachments/8a9f90a8-0e29-42e7-be9e-db7a7811cf43) > 请问如何去除引号呢 或许可以换一种思路输出?
吴健洋 코멘트됨, 2 년 전

图片 图片 请问如何去除引号呢

可以尝试join函数吗

> ![图片](/attachments/da674525-b0ab-4002-b20f-3a797f8585f8) > ![图片](/attachments/8a9f90a8-0e29-42e7-be9e-db7a7811cf43) > 请问如何去除引号呢 可以尝试join函数吗
test2022 코멘트됨, 2 년 전
소유자

sy4-6.py、sy4-7.py、sy4-8.py、sy4-9.py、sy4-10.py参考答案

sy4-6.py、sy4-7.py、sy4-8.py、sy4-9.py、sy4-10.py参考答案
로그인하여 이 대화에 참여
레이블 없음
마일스톤 없음
담당자 없음
알림
마감일

마감일이 설정되지 않았습니다.

의존성

이 이슈는 어떠한 의존성도 가지지 않습니다.

불러오는 중...
아직 콘텐츠가 없습니다.