#8 第10周作业(心院班)

Abierta
abierta hace 2 años por test2022 · 52 comentarios

第10周作业(心院班)

周二:
一、随堂测试:所有学生必须当堂完成,课后提交记为零分。
https://ks.wjx.top/vm/mbLtMIk.aspx
二、完成以下作业:
1、完成实践4的4.1.1全部,不用提交。
2、完成实践4的4.2全部,按题目要求保存并提交。
(作业名为sy4-1.py、sy4-2.py、sy4-3.py、sy4-4.py)
以上作业不迟于周五晚提交至水杉码园学号仓库的homework10分支下。

周四:
完成补充的期中练习作业:期中练习-学生.rar(届时会放入AllStuRead仓库)
(作业名为ans11.py、ans12.py、ans21.py、ans22.py、ans31.py、ans32.py)
以上作业不迟于周五晚提交至水杉码园学号仓库的homework10分支下。


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

第10周作业(心院班) 周二: 一、随堂测试:所有学生必须当堂完成,课后提交记为零分。 https://ks.wjx.top/vm/mbLtMIk.aspx 二、完成以下作业: 1、完成实践4的4.1.1全部,不用提交。 2、完成实践4的4.2全部,按题目要求保存并提交。 **(作业名为sy4-1.py、sy4-2.py、sy4-3.py、sy4-4.py)** 以上作业不迟于周五晚提交至水杉码园学号仓库的homework10分支下。 周四: 完成补充的期中练习作业:期中练习-学生.rar(届时会放入AllStuRead仓库) **(作业名为ans11.py、ans12.py、ans21.py、ans22.py、ans31.py、ans32.py)** 以上作业不迟于周五晚提交至水杉码园学号仓库的homework10分支下。 ----- 水杉码园上的本次作业要求:https://gitea.shuishan.net.cn/Comp-Prog-A.Liuyao.2022Fall.XinYuan/AllStuRead/issues/8 实验素材请参考AllStuRead仓库的范例、素材(学生).zip

请问sy4-1中输入x之后,如图左侧一直处于可输入状态是什么原因呀?我的代码如下:

y = []
x = input().split(sep=",")
y.extend(x)
minf = float(y[0])
i = 0
while i < len(y):
if minf > float(y[i]):
minf = float(y[i])
i = i+1
print("最小元素=", minf)

请问sy4-1中输入x之后,如图左侧一直处于可输入状态是什么原因呀?我的代码如下: > y = [] x = input().split(sep=",") y.extend(x) minf = float(y[0]) i = 0 while i < len(y): if minf > float(y[i]): minf = float(y[i]) i = i+1 print("最小元素=", minf)

请问sy4-1中输入x之后,如图左侧一直处于可输入状态是什么原因呀?我的代码如下:

y = []
x = input().split(sep=",")
y.extend(x)
minf = float(y[0])
i = 0
while i < len(y):
if minf > float(y[i]):
minf = float(y[i])
i = i+1
print("最小元素=", minf)

倒数第二行可能需要退格

> 请问sy4-1中输入x之后,如图左侧一直处于可输入状态是什么原因呀?我的代码如下: > > y = [] > x = input().split(sep=",") > y.extend(x) > minf = float(y[0]) > i = 0 > while i < len(y): > if minf > float(y[i]): > minf = float(y[i]) > i = i+1 > print("最小元素=", minf) > 倒数第二行可能需要退格

请问sy4-1中输入x之后,如图左侧一直处于可输入状态是什么原因呀?我的代码如下:

y = []
x = input().split(sep=",")
y.extend(x)
minf = float(y[0])
i = 0
while i < len(y):
if minf > float(y[i]):
minf = float(y[i])
i = i+1
print("最小元素=", minf)

会不会是minf<=float(y[i])的时候i不知道怎么变换,然后卡在那里了

> 请问sy4-1中输入x之后,如图左侧一直处于可输入状态是什么原因呀?我的代码如下: > > y = [] > x = input().split(sep=",") > y.extend(x) > minf = float(y[0]) > i = 0 > while i < len(y): > if minf > float(y[i]): > minf = float(y[i]) > i = i+1 > print("最小元素=", minf) > 会不会是minf<=float(y[i])的时候i不知道怎么变换,然后卡在那里了

请问sy4-1中输入x之后,如图左侧一直处于可输入状态是什么原因呀?我的代码如下:

y = []
x = input().split(sep=",")
y.extend(x)
minf = float(y[0])
i = 0
while i < len(y):
if minf > float(y[i]):
minf = float(y[i])
i = i+1
print("最小元素=", minf)

会不会是minf<=float(y[i])的时候i不知道怎么变换,然后卡在那里了
i=i+1这一行的缩进应该与if并齐才能做到控制循环次数的效果 如果是在if缩进下的话就会陷入死循环了

> > 请问sy4-1中输入x之后,如图左侧一直处于可输入状态是什么原因呀?我的代码如下: > > > y = [] > > x = input().split(sep=",") > > y.extend(x) > > minf = float(y[0]) > > i = 0 > > while i < len(y): > > if minf > float(y[i]): > > minf = float(y[i]) > > i = i+1 > > print("最小元素=", minf) > > > > 会不会是minf<=float(y[i])的时候i不知道怎么变换,然后卡在那里了 > i=i+1这一行的缩进应该与if并齐才能做到控制循环次数的效果 如果是在if缩进下的话就会陷入死循环了

想问问实验书P47的6.思考题(1)填空的第二个L3[1,1]为什么一直报错呀?
L1=[1,2,3,4,5]
L2=["one","two","three","four","five"]
L3=L1[1],L2[1,[L1[2],L2[2]],[L1[3],L2[3]]]
L3
L3[1,1]

想问问实验书P47的6.思考题(1)填空的第二个L3[1,1]为什么一直报错呀? L1=[1,2,3,4,5] L2=["one","two","three","four","five"] L3=[[L1[1],L2[1]],[L1[2],L2[2]],[L1[3],L2[3]]] L3 L3[1,1]

想问问实验书P47的6.思考题(1)填空的第二个L3[1,1]为什么一直报错呀?
L1=[1,2,3,4,5]
L2=["one","two","three","four","five"]
L3=L1[1],L2[1,[L1[2],L2[2]],[L1[3],L2[3]]]
L3
L3[1,1]

我也!

> 想问问实验书P47的6.思考题(1)填空的第二个L3[1,1]为什么一直报错呀? > L1=[1,2,3,4,5] > L2=["one","two","three","four","five"] > L3=[[L1[1],L2[1]],[L1[2],L2[2]],[L1[3],L2[3]]] > L3 > L3[1,1] 我也!
test2022 comentado hace 2 años
Propietario

想问问实验书P47的6.思考题(1)填空的第二个L3[1,1]为什么一直报错呀?
L1=[1,2,3,4,5]
L2=["one","two","three","four","five"]
L3=L1[1],L2[1,[L1[2],L2[2]],[L1[3],L2[3]]]
L3
L3[1,1]

试试看L3[1][1]

> 想问问实验书P47的6.思考题(1)填空的第二个L3[1,1]为什么一直报错呀? > L1=[1,2,3,4,5] > L2=["one","two","three","four","five"] > L3=[[L1[1],L2[1]],[L1[2],L2[2]],[L1[3],L2[3]]] > L3 > L3[1,1] 试试看L3[1][1]

a=[0,1,2,3]
a1=a.copy()
n=0
for i in range(1,4):
b=a1[i]
for i in range(0,3):
a1.remove(b)
c=a1[i]
for i in range(0,2):
a1.remove(c)
d=a1[i]
a1=a.copy()
n=n+1
print(b,c,d,sep=" ")
print(n)
请问这个代码中(ans31)为什么第三个数字没有3?

a=[0,1,2,3] a1=a.copy() n=0 for i in range(1,4): b=a1[i] for i in range(0,3): a1.remove(b) c=a1[i] for i in range(0,2): a1.remove(c) d=a1[i] a1=a.copy() n=n+1 print(b,c,d,sep=" ") print(n) 请问这个代码中(ans31)为什么第三个数字没有3?
朱逸 comentado hace 2 años

怎么控制while的循环次数和“第N个整数”中N的变化?怎么排序同构数?

num=input("请输入第1个整数,-1结束:")
n=0
while num!="-1" and n<=5:
n=n+1
L1=[]
L2=[]
L3=[]
if len(num)>2:
print("输入位数不正确!")
num=input("请输入第{}个整数,-1结束:".format(n))
else:
if num.isdigit()==False:
print("输入不是数字!")
num=input("请输入第{}个整数,-1结束:".format(n))
else:
L1.append(num)
pingfang=pow(int(num),2)
ping=str(pingfang)
if num[-1]==ping[-1]:
L2.append(num)
num=input("请输入第{}个整数,-1结束:".format(n))
L3=L2.sort()
print("同构数有:",L3)

怎么控制while的循环次数和“第N个整数”中N的变化?怎么排序同构数? num=input("请输入第1个整数,-1结束:") n=0 while num!="-1" and n<=5: n=n+1 L1=[] L2=[] L3=[] if len(num)>2: print("输入位数不正确!") num=input("请输入第{}个整数,-1结束:".format(n)) else: if num.isdigit()==False: print("输入不是数字!") num=input("请输入第{}个整数,-1结束:".format(n)) else: L1.append(num) pingfang=pow(int(num),2) ping=str(pingfang) if num[-1]==ping[-1]: L2.append(num) num=input("请输入第{}个整数,-1结束:".format(n)) L3=L2.sort() print("同构数有:",L3)

a=[0,1,2,3]
a1=a.copy()
n=0
for i in range(1,4):
b=a1[i]
for i in range(0,3):
a1.remove(b)
c=a1[i]
for i in range(0,2):
a1.remove(c)
d=a1[i]
a1=a.copy()
n=n+1
print(b,c,d,sep=" ")
print(n)
请问这个代码中(ans31)为什么第三个数字没有3?

这一行for i in range(0,2):区间是左开右闭的,或许把2改成3试试

> a=[0,1,2,3] > a1=a.copy() > n=0 > for i in range(1,4): > b=a1[i] > for i in range(0,3): > a1.remove(b) > c=a1[i] > for i in range(0,2): > a1.remove(c) > d=a1[i] > a1=a.copy() > n=n+1 > print(b,c,d,sep=" ") > print(n) > 请问这个代码中(ans31)为什么第三个数字没有3? 这一行for i in range(0,2):区间是左开右闭的,或许把2改成3试试

怎么控制while的循环次数和“第N个整数”中N的变化?怎么排序同构数?

num=input("请输入第1个整数,-1结束:")
n=0
while num!="-1" and n<=5:
n=n+1
L1=[]
L2=[]
L3=[]
if len(num)>2:
print("输入位数不正确!")
num=input("请输入第{}个整数,-1结束:".format(n))
else:
if num.isdigit()==False:
print("输入不是数字!")
num=input("请输入第{}个整数,-1结束:".format(n))
else:
L1.append(num)
pingfang=pow(int(num),2)
ping=str(pingfang)
if num[-1]==ping[-1]:
L2.append(num)
num=input("请输入第{}个整数,-1结束:".format(n))
L3=L2.sort()
print("同构数有:",L3)

第一,python中while循环的定义就是无终止循环,若要控制循环次数,建议使用有限循环“for循环”。

第二,要实现第n个整数的n变化,可以在每一个小循环的结尾再写n=n+1。

第三,排序你用sort()函数是对的,一般默认是升序,降序只要加上控制-1就行。

> 怎么控制while的循环次数和“第N个整数”中N的变化?怎么排序同构数? > > > num=input("请输入第1个整数,-1结束:") > n=0 > while num!="-1" and n<=5: > n=n+1 > L1=[] > L2=[] > L3=[] > if len(num)>2: > print("输入位数不正确!") > num=input("请输入第{}个整数,-1结束:".format(n)) > else: > if num.isdigit()==False: > print("输入不是数字!") > num=input("请输入第{}个整数,-1结束:".format(n)) > else: > L1.append(num) > pingfang=pow(int(num),2) > ping=str(pingfang) > if num[-1]==ping[-1]: > L2.append(num) > num=input("请输入第{}个整数,-1结束:".format(n)) > L3=L2.sort() > print("同构数有:",L3) 第一,python中while循环的定义就是无终止循环,若要控制循环次数,建议使用有限循环“for循环”。 第二,要实现第n个整数的n变化,可以在每一个小循环的结尾再写n=n+1。 第三,排序你用sort()函数是对的,一般默认是升序,降序只要加上控制-1就行。

怎么控制while的循环次数和“第N个整数”中N的变化?怎么排序同构数?

num=input("请输入第1个整数,-1结束:")
n=0
while num!="-1" and n<=5:
n=n+1
L1=[]
L2=[]
L3=[]
if len(num)>2:
print("输入位数不正确!")
num=input("请输入第{}个整数,-1结束:".format(n))
else:
if num.isdigit()==False:
print("输入不是数字!")
num=input("请输入第{}个整数,-1结束:".format(n))
else:
L1.append(num)
pingfang=pow(int(num),2)
ping=str(pingfang)
if num[-1]==ping[-1]:
L2.append(num)
num=input("请输入第{}个整数,-1结束:".format(n))
L3=L2.sort()
print("同构数有:",L3)

怎么控制 while 的循环次数?

  • while 循环在条件为 False 时会停止运行
  • 可以在条件句内运用 break 语句跳出循环

“第N个整数”中 N 的变化

  • 可以在每次判定输入正确的数字时为 N 加上 1

怎么排序同构数?

sort()函数是对目标列表的排序

你写的 L3=L2.sort() 中,应该是想把 L2 排序后的值赋给 L1

如果想实现使 L3 成为 L2 排序后的列表,应该使用返回新的列表对象的函数 sorted()

L3 = sorted(L2) 或 直接使用 L2.sort() 对 L2 排序

> 怎么控制while的循环次数和“第N个整数”中N的变化?怎么排序同构数? > > num=input("请输入第1个整数,-1结束:") > n=0 > while num!="-1" and n<=5: > n=n+1 > L1=[] > L2=[] > L3=[] > if len(num)>2: > print("输入位数不正确!") > num=input("请输入第{}个整数,-1结束:".format(n)) > else: > if num.isdigit()==False: > print("输入不是数字!") > num=input("请输入第{}个整数,-1结束:".format(n)) > else: > L1.append(num) > pingfang=pow(int(num),2) > ping=str(pingfang) > if num[-1]==ping[-1]: > L2.append(num) > num=input("请输入第{}个整数,-1结束:".format(n)) > L3=L2.sort() > print("同构数有:",L3) > 怎么控制 while 的循环次数? - while 循环在条件为 False 时会停止运行 - 可以在条件句内运用 break 语句跳出循环 > “第N个整数”中 N 的变化 - 可以在每次判定输入正确的数字时为 N 加上 1 > 怎么排序同构数? `sort()`函数是对目标列表的排序 你写的 `L3=L2.sort()` 中,应该是想把 L2 排序后的值赋给 L1 如果想实现使 L3 成为 L2 排序后的列表,应该使用返回新的列表对象的函数 sorted() 如 `L3 = sorted(L2)` 或 直接使用 `L2.sort()` 对 L2 排序
梁馨 comentado hace 2 años

a=input()
li=[] #建立空列表
for i in range(0,len(a)): #遍历字符串
if a.isalpha():#判断是否是英语字母
ch=a[i].islower() #英文字母取小写
if ch not in li :#判断字母是否在列表中
li.append(ch) #将符合新的英文字母追加到列表
for ch in li:
print(ch,end="") #字符连续输出,不空格,不换行

如何把小写字母取出 以及为什么输出不了

a=input() li=[] #建立空列表 for i in range(0,len(a)): #遍历字符串 if a.isalpha():#判断是否是英语字母 ch=a[i].islower() #英文字母取小写 if ch not in li :#判断字母是否在列表中 li.append(ch) #将符合新的英文字母追加到列表 for ch in li: print(ch,end="") #字符连续输出,不空格,不换行 如何把小写字母取出 以及为什么输出不了

a=input()
li=[] #建立空列表
for i in range(0,len(a)): #遍历字符串
if a.isalpha():#判断是否是英语字母
ch=a[i].islower() #英文字母取小写
if ch not in li :#判断字母是否在列表中
li.append(ch) #将符合新的英文字母追加到列表
for ch in li:
print(ch,end="") #字符连续输出,不空格,不换行

如何把小写字母取出 以及为什么输出不了

.islower()是判断是否全为小写返回值是True/False,改成.lower()

> a=input() > li=[] #建立空列表 > for i in range(0,len(a)): #遍历字符串 > if a.isalpha():#判断是否是英语字母 > ch=a[i].islower() #英文字母取小写 > if ch not in li :#判断字母是否在列表中 > li.append(ch) #将符合新的英文字母追加到列表 > for ch in li: > print(ch,end="") #字符连续输出,不空格,不换行 > > 如何把小写字母取出 以及为什么输出不了 .islower()是判断是否全为小写返回值是True/False,改成.lower()

li=[]
li=li.append(5)
为什么最后输入li,它输出的是None

li=[] li=li.append(5) 为什么最后输入li,它输出的是None

li=[]
li=li.append(5)
为什么最后输入li,它输出的是None

去掉第二行开头li=试试看

> li=[] > li=li.append(5) > 为什么最后输入li,它输出的是None > 去掉第二行开头li=试试看

求助。。。为啥会输出一堆乱码啊imageimage

求助。。。为啥会输出一堆乱码啊![image](/attachments/f6a709f0-d066-4fab-925c-992a0de8dde4)![image](/attachments/d495f081-3c3f-47d0-a881-327a1a2b61ad)

求助。。。为啥会输出一堆乱码啊imageimage

是lower不是upper

> 求助。。。为啥会输出一堆乱码啊![image](/attachments/f6a709f0-d066-4fab-925c-992a0de8dde4)![image](/attachments/d495f081-3c3f-47d0-a881-327a1a2b61ad) 是lower不是upper

想问一下为什么我这个输出出来没有按升序排序
n=1
l=[]
while True:
a=input("请输入第{}个整数,-1结束:".format(n))
if a==str(-1):
break
elif a.isdigit() is False:
print("输入不是数字!")
continue
elif len(a)!=1 and len(a)!=2:
print("输入数位数不正确!")
continue
else:n=n+1
if str(int(a)*int(a))[-1]==a[-1]:
l.append(a)
continue
l.sort()
print("同构数有:"," ".join(l))

想问一下为什么我这个输出出来没有按升序排序 n=1 l=[] while True: a=input("请输入第{}个整数,-1结束:".format(n)) if a==str(-1): break elif a.isdigit() is False: print("输入不是数字!") continue elif len(a)!=1 and len(a)!=2: print("输入数位数不正确!") continue else:n=n+1 if str(int(a)*int(a))[-1]==a[-1]: l.append(a) continue l.sort() print("同构数有:"," ".join(l))

求助。。。为啥会输出一堆乱码啊imageimage

upper是大写,lower才对 你改一下看看还是不是乱码

> 求助。。。为啥会输出一堆乱码啊![image](/attachments/f6a709f0-d066-4fab-925c-992a0de8dde4)![image](/attachments/d495f081-3c3f-47d0-a881-327a1a2b61ad) upper是大写,lower才对 你改一下看看还是不是乱码

a=[0,1,2,3]
a1=a.copy()
n=0
for i in range(1,4):
b=a1[i]
for i in range(0,3):
a1.remove(b)
c=a1[i]
for i in range(0,2):
a1.remove(c)
d=a1[i]
a1=a.copy()
n=n+1
print(b,c,d,sep=" ")
print(n)
请问这个代码中(ans31)为什么第三个数字没有3?

这一行for i in range(0,2):区间是左开右闭的,或许把2改成3试试
还是不行

> > a=[0,1,2,3] > > a1=a.copy() > > n=0 > > for i in range(1,4): > > b=a1[i] > > for i in range(0,3): > > a1.remove(b) > > c=a1[i] > > for i in range(0,2): > > a1.remove(c) > > d=a1[i] > > a1=a.copy() > > n=n+1 > > print(b,c,d,sep=" ") > > print(n) > > 请问这个代码中(ans31)为什么第三个数字没有3? > > 这一行for i in range(0,2):区间是左开右闭的,或许把2改成3试试 还是不行

a=[0,1,2,3]
a1=a.copy()
n=0
for i in range(1,4):
b=a1[i]
for i in range(0,3):
a1.remove(b)
c=a1[i]
for i in range(0,2):
a1.remove(c)
d=a1[i]
a1=a.copy()
n=n+1
print(b,c,d,sep=" ")
print(n)
请问这个代码中(ans31)为什么第三个数字没有3?

这一行for i in range(0,2):区间是左开右闭的,或许把2改成3试试
还是不行

也许你可以考虑下改成4?应该是左闭右开才对

> > > a=[0,1,2,3] > > > a1=a.copy() > > > n=0 > > > for i in range(1,4): > > > b=a1[i] > > > for i in range(0,3): > > > a1.remove(b) > > > c=a1[i] > > > for i in range(0,2): > > > a1.remove(c) > > > d=a1[i] > > > a1=a.copy() > > > n=n+1 > > > print(b,c,d,sep=" ") > > > print(n) > > > 请问这个代码中(ans31)为什么第三个数字没有3? > > > > 这一行for i in range(0,2):区间是左开右闭的,或许把2改成3试试 > 还是不行 > 也许你可以考虑下改成4?应该是左闭右开才对

想问一下为什么我这个输出出来没有按升序排序
n=1
l=[]
while True:
a=input("请输入第{}个整数,-1结束:".format(n))
if a==str(-1):
break
elif a.isdigit() is False:
print("输入不是数字!")
continue
elif len(a)!=1 and len(a)!=2:
print("输入数位数不正确!")
continue
else:n=n+1
if str(int(a)*int(a))[-1]==a[-1]:
l.append(a)
continue
l.sort()
print("同构数有:"," ".join(l))

不要用字符串排序要用数字排序,而且同构数好像理解错了

> 想问一下为什么我这个输出出来没有按升序排序 > n=1 > l=[] > while True: > a=input("请输入第{}个整数,-1结束:".format(n)) > if a==str(-1): > break > elif a.isdigit() is False: > print("输入不是数字!") > continue > elif len(a)!=1 and len(a)!=2: > print("输入数位数不正确!") > continue > else:n=n+1 > if str(int(a)*int(a))[-1]==a[-1]: > l.append(a) > continue > l.sort() > print("同构数有:"," ".join(l)) > 不要用字符串排序要用数字排序,而且同构数好像理解错了

想问一下为什么两次运行出来结果会不一样?

想问一下为什么两次运行出来结果会不一样?
9.6 KiB
1.7 KiB

想问一下为什么两次运行出来结果会不一样?
c没复位加一个c=0

> 想问一下为什么两次运行出来结果会不一样? c没复位加一个c=0

x=input("请输入一个正整数:")
while x.isdigit==False:
if x!="quit":
print("NO")
else:
exit(0)
s=0
for i in range(len(x)):
s=s+int(x[i])
if int(x[0])==s/2:
print("YES")
else:
print("NO")
输入含有英文字母的会报错,不知道问题出在哪儿emmm

x=input("请输入一个正整数:") while x.isdigit==False: if x!="quit": print("NO") else: exit(0) s=0 for i in range(len(x)): s=s+int(x[i]) if int(x[0])==s/2: print("YES") else: print("NO") 输入含有英文字母的会报错,不知道问题出在哪儿emmm

L=[]
i=1
while True:
a=input("请输入第{}个整数,-1结束:".format(i))
if a!="-1":
if len(a)>2:
print("输入数位数不正确!")

    else:
        if a.isdigit():
        
            b=str(int(a)**2)
            c=b[-1]
            if a[-1]==c:
                L.append(int(a))
                i=i+1
            else:
                i=i+1
        else:
            print("输入不是数字!")
            
else:
    sorted(L)
    
    print("同构数有:",L)
    exit()

请问最后的方括号怎么删掉(ans32)

L=[] i=1 while True: a=input("请输入第{}个整数,-1结束:".format(i)) if a!="-1": if len(a)>2: print("输入数位数不正确!") else: if a.isdigit(): b=str(int(a)**2) c=b[-1] if a[-1]==c: L.append(int(a)) i=i+1 else: i=i+1 else: print("输入不是数字!") else: sorted(L) print("同构数有:",L) exit() 请问最后的方括号怎么删掉(ans32)
test2022 comentado hace 2 años
Propietario

x=input("请输入一个正整数:")
while x.isdigit==False:
if x!="quit":
print("NO")
else:
exit(0)
s=0
for i in range(len(x)):
s=s+int(x[i])
if int(x[0])==s/2:
print("YES")
else:
print("NO")
输入含有英文字母的会报错,不知道问题出在哪儿emmm

sy4-4中应该是x.isdigit()

> x=input("请输入一个正整数:") > while x.isdigit==False: > if x!="quit": > print("NO") > else: > exit(0) > s=0 > for i in range(len(x)): > s=s+int(x[i]) > if int(x[0])==s/2: > print("YES") > else: > print("NO") > 输入含有英文字母的会报错,不知道问题出在哪儿emmm sy4-4中应该是x.isdigit()
test2022 comentado hace 2 años
Propietario

L=[]
i=1
while True:
a=input("请输入第{}个整数,-1结束:".format(i))
if a!="-1":
if len(a)>2:
print("输入数位数不正确!")

    else:
        if a.isdigit():
        
            b=str(int(a)**2)
            c=b[-1]
            if a[-1]==c:
                L.append(int(a))
                i=i+1
            else:
                i=i+1
        else:
            print("输入不是数字!")
            
else:
    sorted(L)
    
    print("同构数有:",L)
    exit()

请问最后的方括号怎么删掉(ans32)

使用for循环打印L内所有元素

> L=[] > i=1 > while True: > a=input("请输入第{}个整数,-1结束:".format(i)) > if a!="-1": > if len(a)>2: > print("输入数位数不正确!") > > else: > if a.isdigit(): > > b=str(int(a)**2) > c=b[-1] > if a[-1]==c: > L.append(int(a)) > i=i+1 > else: > i=i+1 > else: > print("输入不是数字!") > > else: > sorted(L) > > print("同构数有:",L) > exit() > 请问最后的方括号怎么删掉(ans32) 使用for循环打印L内所有元素

a=[0,1,2,3]
a1=a.copy()
n=0
for i in range(1,4):
b=a1[i]
for i in range(0,3):
a1.remove(b)
c=a1[i]
for i in range(0,2):
a1.remove(c)
d=a1[i]
a1=a.copy()
n=n+1
print(b,c,d,sep=" ")
print(n)
请问这个代码中(ans31)为什么第三个数字没有3?

前面几个uu的方法都不行欸

> a=[0,1,2,3] > a1=a.copy() > n=0 > for i in range(1,4): > b=a1[i] > for i in range(0,3): > a1.remove(b) > c=a1[i] > for i in range(0,2): > a1.remove(c) > d=a1[i] > a1=a.copy() > n=n+1 > print(b,c,d,sep=" ") > print(n) > 请问这个代码中(ans31)为什么第三个数字没有3? 前面几个uu的方法都不行欸

L=[]
i=1
while True:
a=input("请输入第{}个整数,-1结束:".format(i))
if a!="-1":
if len(a)>2:
print("输入数位数不正确!")

    else:
        if a.isdigit():
        
            b=str(int(a)**2)
            c=b[-1]
            if a[-1]==c:
                L.append(int(a))
                i=i+1
            else:
                i=i+1
        else:
            print("输入不是数字!")
            
else:
    sorted(L)
    
    print("同构数有:",L)
    exit()

请问最后的方括号怎么删掉(ans32)

使用for循环打印L内所有元素

image 变成了这样

> > L=[] > > i=1 > > while True: > > a=input("请输入第{}个整数,-1结束:".format(i)) > > if a!="-1": > > if len(a)>2: > > print("输入数位数不正确!") > > > > else: > > if a.isdigit(): > > > > b=str(int(a)**2) > > c=b[-1] > > if a[-1]==c: > > L.append(int(a)) > > i=i+1 > > else: > > i=i+1 > > else: > > print("输入不是数字!") > > > > else: > > sorted(L) > > > > print("同构数有:",L) > > exit() > > 请问最后的方括号怎么删掉(ans32) > > 使用for循环打印L内所有元素 ![image](/attachments/08438f78-929d-4f29-b318-011be69b5bfc) 变成了这样

我想请问一下在ans32.py中为什么我的li最后输出的时候始终为空列表,有什么解决的方法吗,谢谢!
代码如下
i=1
li=[]
x=input("请输入第{}个整数,-1结束:".format(i))
while x!="-1":
if len(x)>2:
print("输入数位数不正确!")
x=input("请输入第{}个整数,-1结束:".format(i))
elif x.isdigit()==False:
print("输入不是数字!")
x=input("请输入第{}个整数,-1结束:".format(i))
else:
if x==5 or x==6 or x==25 or x==76:
li.append(x)
i+=1
x=input("请输入第{}个整数,-1结束:".format(i))
li.sort()
print("同构数有:",li)

我想请问一下在ans32.py中为什么我的li最后输出的时候始终为空列表,有什么解决的方法吗,谢谢! 代码如下 i=1 li=[] x=input("请输入第{}个整数,-1结束:".format(i)) while x!="-1": if len(x)>2: print("输入数位数不正确!") x=input("请输入第{}个整数,-1结束:".format(i)) elif x.isdigit()==False: print("输入不是数字!") x=input("请输入第{}个整数,-1结束:".format(i)) else: if x==5 or x==6 or x==25 or x==76: li.append(x) i+=1 x=input("请输入第{}个整数,-1结束:".format(i)) li.sort() print("同构数有:",li)

请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束

请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束

a=[0,1,2,3]
a1=a.copy()
n=0
for i in range(1,4):
b=a1[i]
for i in range(0,3):
a1.remove(b)
c=a1[i]
for i in range(0,2):
a1.remove(c)
d=a1[i]
a1=a.copy()
n=n+1
print(b,c,d,sep=" ")
print(n)
请问这个代码中(ans31)为什么第三个数字没有3?

前面几个uu的方法都不行欸
个人建议你改用循环嵌套 用三个for循环。
对于各个位置上数字重复的问题,只需要进行一次重复判断确保三个数字不相等就行了。
后两个个for循环都用(0,4),第一个循环因为是第一位数字不能是0,所以说是(1,4),最后统一判断是否重复,不然太复杂了

> > a=[0,1,2,3] > > a1=a.copy() > > n=0 > > for i in range(1,4): > > b=a1[i] > > for i in range(0,3): > > a1.remove(b) > > c=a1[i] > > for i in range(0,2): > > a1.remove(c) > > d=a1[i] > > a1=a.copy() > > n=n+1 > > print(b,c,d,sep=" ") > > print(n) > > 请问这个代码中(ans31)为什么第三个数字没有3? > > 前面几个uu的方法都不行欸 个人建议你改用循环嵌套 用三个for循环。 对于各个位置上数字重复的问题,只需要进行一次重复判断确保三个数字不相等就行了。 后两个个for循环都用(0,4),第一个循环因为是第一位数字不能是0,所以说是(1,4),最后统一判断是否重复,不然太复杂了

我想请问一下在ans32.py中为什么我的li最后输出的时候始终为空列表,有什么解决的方法吗,谢谢!
代码如下
i=1
li=[]
x=input("请输入第{}个整数,-1结束:".format(i))
while x!="-1":
if len(x)>2:
print("输入数位数不正确!")
x=input("请输入第{}个整数,-1结束:".format(i))
elif x.isdigit()==False:
print("输入不是数字!")
x=input("请输入第{}个整数,-1结束:".format(i))
else:
if x==5 or x==6 or x==25 or x==76:
li.append(x)
i+=1
x=input("请输入第{}个整数,-1结束:".format(i))
li.sort()
print("同构数有:",li)

x==5那里是文本和数字的比较

> 我想请问一下在ans32.py中为什么我的li最后输出的时候始终为空列表,有什么解决的方法吗,谢谢! > 代码如下 > i=1 > li=[] > x=input("请输入第{}个整数,-1结束:".format(i)) > while x!="-1": > if len(x)>2: > print("输入数位数不正确!") > x=input("请输入第{}个整数,-1结束:".format(i)) > elif x.isdigit()==False: > print("输入不是数字!") > x=input("请输入第{}个整数,-1结束:".format(i)) > else: > if x==5 or x==6 or x==25 or x==76: > li.append(x) > i+=1 > x=input("请输入第{}个整数,-1结束:".format(i)) > li.sort() > print("同构数有:",li) > x==5那里是文本和数字的比较

请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束

因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环

> 请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束 因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环

请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束

因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环

这里改完了后面还是报错耶?

> > 请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束 > > 因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环 这里改完了后面还是报错耶?

请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束

因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环

这里改完了后面还是报错耶?
因为sort()函数只会将其排序 这个函数并不会返回一个排序好的列表 而只是改变原列表 所以这里不需要进行额外的赋值 直接用原列表就行

> > > 请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束 > > > > 因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环 > > 这里改完了后面还是报错耶? 因为sort()函数只会将其排序 这个函数并不会返回一个排序好的列表 而只是改变原列表 所以这里不需要进行额外的赋值 直接用原列表就行

请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束

因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环

这里改完了后面还是报错耶?
因为sort()函数只会将其排序 这个函数并不会返回一个排序好的列表 而只是改变原列表 所以这里不需要进行额外的赋值 直接用原列表就行
那请问怎么不重复输入“同构数有”呢

> > > > 请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束 > > > > > > 因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环 > > > > 这里改完了后面还是报错耶? > 因为sort()函数只会将其排序 这个函数并不会返回一个排序好的列表 而只是改变原列表 所以这里不需要进行额外的赋值 直接用原列表就行 > 那请问怎么不重复输入“同构数有”呢

请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束

因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环

这里改完了后面还是报错耶?
因为sort()函数只会将其排序 这个函数并不会返回一个排序好的列表 而只是改变原列表 所以这里不需要进行额外的赋值 直接用原列表就行
那请问怎么不重复输入“同构数有”呢
你可以试试先单独输出一个“同构数有:” 然后控制好结尾不换行 然后再用循环输出列表中的数

> > > > > 请问为什么我的代码运行出来到第四个整数就不继续循环了呢,但是程序又说没有结束 > > > > > > > > 因为你最里层的if判断缺少一个else的情况 不然的话如果你输入了一个不是同构数的数 程序就会陷入死循环 > > > > > > 这里改完了后面还是报错耶? > > 因为sort()函数只会将其排序 这个函数并不会返回一个排序好的列表 而只是改变原列表 所以这里不需要进行额外的赋值 直接用原列表就行 > > 那请问怎么不重复输入“同构数有”呢 > 你可以试试先单独输出一个“同构数有:” 然后控制好结尾不换行 然后再用循环输出列表中的数 >

好的谢谢!但是我输出的同构数为什么顺序是25,5,6??
我的部分代码如下
L.sort()
print('同构数有:',L[0],end=' ')
for i in range(1,len(L)):
print(L[i],end=' ')

好的谢谢!但是我输出的同构数为什么顺序是25,5,6?? 我的部分代码如下 L.sort() print('同构数有:',L[0],end=' ') for i in range(1,len(L)): print(L[i],end=' ')

好的谢谢!但是我输出的同构数为什么顺序是25,5,6??
我的部分代码如下
L.sort()
print('同构数有:',L[0],end=' ')
for i in range(1,len(L)):
print(L[i],end=' ')

用数字型排序别用字符串型

> 好的谢谢!但是我输出的同构数为什么顺序是25,5,6?? > 我的部分代码如下 > L.sort() > print('同构数有:',L[0],end=' ') > for i in range(1,len(L)): > print(L[i],end=' ') > > 用数字型排序别用字符串型

为什么我的这个b和sum都x相等了还不输出YES
请输入一个正整数:83212
8
8
NO

while True:
h=input("请输入一个正整数:")
sum=0
b=str(h[0:1])
print(b)
u=h[1:]
if h=='quit':
break
else:
for i in range(1,len(u)+1):
sum+=int(h[i])
print(sum)
if b == sum:
print("YES")
else:
print("NO")

为什么我的这个b和sum都x相等了还不输出YES 请输入一个正整数:83212 8 8 NO while True: h=input("请输入一个正整数:") sum=0 b=str(h[0:1]) print(b) u=h[1:] if h=='quit': break else: for i in range(1,len(u)+1): sum+=int(h[i]) print(sum) if b == sum: print("YES") else: print("NO")

为什么我的这个b和sum都x相等了还不输出YES
请输入一个正整数:83212
8
8
NO

while True:
h=input("请输入一个正整数:")
sum=0
b=str(h[0:1])
print(b)
u=h[1:]
if h=='quit':
break
else:
for i in range(1,len(u)+1):
sum+=int(h[i])
print(sum)
if b == sum:
print("YES")
else:
print("NO")

数据类型不同if int(b)==sum试试看

> 为什么我的这个b和sum都x相等了还不输出YES > 请输入一个正整数:83212 > 8 > 8 > NO > > while True: > h=input("请输入一个正整数:") > sum=0 > b=str(h[0:1]) > print(b) > u=h[1:] > if h=='quit': > break > else: > for i in range(1,len(u)+1): > sum+=int(h[i]) > print(sum) > if b == sum: > print("YES") > else: > print("NO") > 数据类型不同if int(b)==sum试试看

请问运行起来无限输出yes是怎么回事呢
a=input("请输入一个正整数:")
while a!=("quit"):
if a.isdigit()==True:
m=a[0]
t=int(m)
n=0
for i in range(1,len(a)):
n=n+int(a[i])
if t==n:
print("YES")
else:
print("NO")
else:
print("NO")

请问运行起来无限输出yes是怎么回事呢 a=input("请输入一个正整数:") while a!=("quit"): if a.isdigit()==True: m=a[0] t=int(m) n=0 for i in range(1,len(a)): n=n+int(a[i]) if t==n: print("YES") else: print("NO") else: print("NO")

请问运行起来无限输出yes是怎么回事呢
a=''
while a!=("quit"):
a=input("请输入一个正整数:")
if a.isdigit()==True:
m=a[0]
t=int(m)
n=0
for i in range(1,len(a)):
n=n+int(a[i])
if t==n:
print("YES")
else:
print("NO")
else:
print("NO")

原本的a无法输入新值一直在循环同一个a,试试看现在这个

> 请问运行起来无限输出yes是怎么回事呢 > a='' > while a!=("quit"): > a=input("请输入一个正整数:") > if a.isdigit()==True: > m=a[0] > t=int(m) > n=0 > for i in range(1,len(a)): > n=n+int(a[i]) > if t==n: > print("YES") > else: > print("NO") > else: > print("NO") 原本的a无法输入新值一直在循环同一个a,试试看现在这个

l=[]
for a in range(0,3):
l.append(a)
for b in range(0,3):
if b!=a:
l.append(b)
for c in range(0,3):
if c!=b and c!=a:
l.append(c)
print(l)
print("18")
为什么输出结果是
[0, 1, 2, 0, 1, 0, 1]
18

l=[] for a in range(0,3): l.append(a) for b in range(0,3): if b!=a: l.append(b) for c in range(0,3): if c!=b and c!=a: l.append(c) print(l) print("18") 为什么输出结果是 [0, 1, 2, 0, 1, 0, 1] 18 呢

l=[]
for a in range(0,3):
l.append(a)
for b in range(0,3):
if b!=a:
l.append(b)
for c in range(0,3):
if c!=b and c!=a:
l.append(c)
print(l)
print("18")
为什么输出结果是
[0, 1, 2, 0, 1, 0, 1]
18

for a in range(0,3):
    l.append(a)

这段代码跑完 a=2 以此类推

不过可以贴上你想要的实现操作吗?

> l=[] > for a in range(0,3): > l.append(a) > for b in range(0,3): > if b!=a: > l.append(b) > for c in range(0,3): > if c!=b and c!=a: > l.append(c) > print(l) > print("18") > 为什么输出结果是 > [0, 1, 2, 0, 1, 0, 1] > 18 > 呢 ```python for a in range(0,3): l.append(a) ``` 这段代码跑完 `a=2` 以此类推 不过可以贴上你想要的实现操作吗?

请问ans32.py
i=1
l=[]
a=input("请输入第{}个整数,-1结束".format(i))
while a!="-1":
if a.isdigit()==True:
if len(a)>2:
print("输入数位不正确!")
a=input("请输入第{}个整数,-1结束".format(i))
else:
b=int(a)
c=b**2
d=str(c)
e=d[-2:-1]
if int(a)==int(e):
l.append(a)
i=i+1
a=input("请输入第{}个整数,-1结束".format(i))
else:
print("输入不是数字!")
a=input("请输入第{}个整数,-1结束".format(i))
print(l)
为何输入-1后输出的是一个空列表呢

请问ans32.py i=1 l=[] a=input("请输入第{}个整数,-1结束".format(i)) while a!="-1": if a.isdigit()==True: if len(a)>2: print("输入数位不正确!") a=input("请输入第{}个整数,-1结束".format(i)) else: b=int(a) c=b**2 d=str(c) e=d[-2:-1] if int(a)==int(e): l.append(a) i=i+1 a=input("请输入第{}个整数,-1结束".format(i)) else: print("输入不是数字!") a=input("请输入第{}个整数,-1结束".format(i)) print(l) 为何输入-1后输出的是一个空列表呢

请问ans32.py
i=1
l=[]
a=input("请输入第{}个整数,-1结束".format(i))
while a!="-1":
if a.isdigit()==True:
if len(a)>2:
print("输入数位不正确!")
a=input("请输入第{}个整数,-1结束".format(i))
else:
b=int(a)
c=b**2
d=str(c)
e=d[-2:-1]
if int(a)==int(e):
l.append(a)
i=i+1
a=input("请输入第{}个整数,-1结束".format(i))
else:
print("输入不是数字!")
a=input("请输入第{}个整数,-1结束".format(i))
print(l)
为何输入-1后输出的是一个空列表呢

a=-1 while语句不执行 先a=0 再把程序第三行移到while里面去

> 请问ans32.py > i=1 > l=[] > a=input("请输入第{}个整数,-1结束".format(i)) > while a!="-1": > if a.isdigit()==True: > if len(a)>2: > print("输入数位不正确!") > a=input("请输入第{}个整数,-1结束".format(i)) > else: > b=int(a) > c=b**2 > d=str(c) > e=d[-2:-1] > if int(a)==int(e): > l.append(a) > i=i+1 > a=input("请输入第{}个整数,-1结束".format(i)) > else: > print("输入不是数字!") > a=input("请输入第{}个整数,-1结束".format(i)) > print(l) > 为何输入-1后输出的是一个空列表呢 > a=-1 while语句不执行 先a=0 再把程序第三行移到while里面去

请问ans32.py
i=1
l=[]
a=input("请输入第{}个整数,-1结束".format(i))
while a!="-1":
if a.isdigit()==True:
if len(a)>2:
print("输入数位不正确!")
a=input("请输入第{}个整数,-1结束".format(i))
else:
b=int(a)
c=b**2
d=str(c)
e=d[-2:-1]
if int(a)==int(e):
l.append(a)
i=i+1
a=input("请输入第{}个整数,-1结束".format(i))
else:
print("输入不是数字!")
a=input("请输入第{}个整数,-1结束".format(i))
print(l)
为何输入-1后输出的是一个空列表呢

a=-1 while语句不执行 先a=0 再把程序第三行移到while里面去
取个位上的数字为什么不试试除10取余?
if语句直接分支就可以了 先if 判断是不是数字 再elif判断位数,再else判断同构数pow(i,2)%10==i%10,你同构数的判断逻辑是不对的。是a的个位数等于a的平方的个位数。

> > 请问ans32.py > > i=1 > > l=[] > > a=input("请输入第{}个整数,-1结束".format(i)) > > while a!="-1": > > if a.isdigit()==True: > > if len(a)>2: > > print("输入数位不正确!") > > a=input("请输入第{}个整数,-1结束".format(i)) > > else: > > b=int(a) > > c=b**2 > > d=str(c) > > e=d[-2:-1] > > if int(a)==int(e): > > l.append(a) > > i=i+1 > > a=input("请输入第{}个整数,-1结束".format(i)) > > else: > > print("输入不是数字!") > > a=input("请输入第{}个整数,-1结束".format(i)) > > print(l) > > 为何输入-1后输出的是一个空列表呢 > > > > a=-1 while语句不执行 先a=0 再把程序第三行移到while里面去 取个位上的数字为什么不试试除10取余? if语句直接分支就可以了 先if 判断是不是数字 再elif判断位数,再else判断同构数pow(i,2)%10==i%10,你同构数的判断逻辑是不对的。是a的个位数等于a的平方的个位数。
test2022 comentado hace 2 años
Propietario

sy4-1.py、sy4-2.py、sy4-3.py、sy4-4.py、ans11.py、ans12.py、ans21.py、ans22.py、ans31.py、ans32.py参考答案

sy4-1.py、sy4-2.py、sy4-3.py、sy4-4.py、ans11.py、ans12.py、ans21.py、ans22.py、ans31.py、ans32.py参考答案
Inicie sesión para unirse a esta conversación.
Sin etiquetas
Sin Milestone
No asignados
Notificaciones
Fecha de vencimiento

Sin fecha de vencimiento.

Dependencias

Esta incidencia actualmente no tiene ninguna dependencia.

Cargando…
Aún no existe contenido.