(不知道能不能发图片)
a,b=input("输入区间a,b:").split(",")
a=int(a)
b=int(b)
if a>b:
a=b
b=a
count=0
for i in range(a,b):
x=i
while x!=1:
num=x
y=list(str(num))
x=0
count+=1
for j in y:
x=x+int(j)**2
print(x)
if x==1:
print(i,count)
这样输出为什么i只等于a,区间里的数不会都循环到
![image](/attachments/148c647b-a456-4ac9-9a68-de88faa45ad1)
(不知道能不能发图片)
a,b=input("输入区间a,b:").split(",")
a=int(a)
b=int(b)
if a>b:
a=b
b=a
count=0
for i in range(a,b):
x=i
while x!=1:
num=x
y=list(str(num))
x=0
count+=1
for j in y:
x=x+int(j)**2
print(x)
if x==1:
print(i,count)
这样输出为什么i只等于a,区间里的数不会都循环到
1、4.1.2-4.1.3,不用保存和提交。
2、4.4.3-4.4.6,按题目要求保存并提交。
以上作业不迟于周六上午9点提交至水杉码园学号仓库的homework11分支下。
水杉码园上的本次作业要求:https://gitea.shuishan.net.cn/Comp-Prog-A.Liuyao.2021Fall.ShengHuan/AllStuRead/issues/14
腾讯工蜂上的本次作业要求:https://git.code.tencent.com/Comp-Prog-A.Liuyao.Shenghuan.2021.Fall/lesson11/issues/1
腾讯工蜂上的本次课程材料(课件及素材等):https://git.code.tencent.com/Comp-Prog-A.Liuyao.Shenghuan.2021.Fall/lesson11/tree/master
4.4.5 有大佬有换标点符号的好方法吗?我怎么写都写不对(T~T)
请问有什么方法可以让当运行到m=0时,p还保留先前m对它的赋值吗?
@10214302427 p=m放到for循环外即可,你现在代码是m每累加一个数就更新一次p值。
@10214302420 可以使用string库提供的标点符号字符串string.punctuation。具体如下图所示。
请问4.4.5我用print(d.items())输出的时候会出现dict_items,怎么搞哇
d0=list(d.items())
print(d0)
好像不行,只要m一等于0,p也就跟着等于0,列表L也就只剩下元素0了。
@10214302427 我指的就是最里面这个for循环,把p=m左移一个缩进。你现在的代码逻辑很混乱,m初始化的地方也不应该在循环里,而且看你这个逻辑没看出来需要另外弄个p变量的必要,直接用m变量就行,自己再理理逻辑。多用print输出看看中间结果。
shopInfo='12号店 48528 23号店 56380 18号店 32854 4号店 68385 53号店 92383 6号店 28387 37号店 40238 8号店 70823'
shopInfo=shopInfo.split()
n=len(shopInfo)
m=int(n/2)
shopIndo=[]
for i in range(1,m-1):
shopIndo=[[shopInfo[2i-2],int(shopInfo[2i-1])]]
print(shopIndo)
这个为什么换行符不能用了哇,我该怎么才能写到一行去呀?
@10214304404 改为将子列表添加到同一个大列表中即可。如下图所示。
(不知道能不能发图片) a,b=input("输入区间a,b:").split(",") a=int(a) b=int(b) if a>b: a=b b=a count=0 for i in range(a,b): x=i while x!=1: num=x y=list(str(num)) x=0 count+=1 for j in y: x=x+int(j)**2 print(x) if x==1: print(i,count) 这样输出为什么i只等于a,区间里的数不会都循环到
@10214304428 之前讲过两数的交换方式,你那个显然是错的。具体如下图所示。
老师我sy4-13.py作业交错了,我刚刚重新提交了一下
@10214304410 好的,收到了。