我想写一个计算长除法问题总进位的代码。这是我为carries编写的函数。我相信问题在于,第一个while循环并没有一直运行。如果是,为什么?这是在Python 3.5中实现的。
carries = 0
sum1 = 0
countx = str(x)
county = str(y)
countx1 = len(countx)
county1 = len(county)
countx2 = int(countx1)
county2 = int(county1)
carry_over = 0
count = countx1
index = 1
index1 = 1
carrieslist = [0,0,0,0,0,0,0,0,0,0]
while (index1 <= county1):
sum3 = county[-index1]
while (index <= count):
sum2 = countx[0-index]
sum4 = int(sum2)
sum5 = int(sum3)
sum1 = sum4*sum5+carry_over
sum6 = str(sum1)
index = index+1
if (sum1 > 9):
carries += 1
carry_over = int(sum6[0])
if carry_over > 0:
if carry_over == 1:
carrieslist[1] += 1
if carry_over == 2:
carrieslist[2] += 1
if carry_over == 3:
carrieslist[3] += 1
if carry_over == 4:
carrieslist[4] += 1
if carry_over == 5:
carrieslist[5] += 1
if carry_over == 6:
carrieslist[6] += 1
if carry_over == 7:
carrieslist[7] += 1
if carry_over == 8:
carrieslist[8] += 1
if carry_over == 9:
carrieslist[9] += 1
else:
carry_over = 0
index1 = index1 + 1
print(" ")
print("Carries:",carries)
print(" ")
if sum(carrieslist) > 0:
print("Carry digit --> Frequency")
countlist = 0
indexlist = 0
while (countlist < len(carrieslist)):
if (carrieslist[indexlist] > 0):
print(indexlist,"-->",carrieslist[indexlist])
indexlist += 1
countlist += 1
else:
indexlist += 1
countlist += 1
我发现了问题所在。只需在外部while循环中初始化变量index=1,如下所示。
while (index1 <= county1):
sum3 = county[-index1]
index = 1
while (index <= count):
sum2 = countx[0-index]
sum4 = int(sum2)
................
................
请改进您的编码风格,使代码更具可读性。我花了很多时间才发现问题所在,因为很难理解你在每一份声明中都写了些什么。
我目前有一个问题,一个'而'循环不执行。如果输入文本文件有下一行,我将循环条件设置为true。然而,当我执行我的程序时,循环没有运行。我通过添加一个“System.out.println(text)”来确认这一点,正如我所怀疑的,没有产生任何文本。 什么问题导致循环无法执行?
这是我试图解决的问题。 “墨西哥人口为6200万,正以7%的年增长率增长。美国目前的人口为2.8亿,正以2%的年增长率增长。如果这两个国家要保持目前的增长率,墨西哥人口将在多少年内超过美国的一半?你的计划应该回答这个问题。” 好的,这就是我目前掌握的代码。当我运行程序时,我得到了这个错误。 不太确定如何修复它。有人能帮忙吗?:/ 编辑 对于任何想知道我最终让代码工作的人。这是代码。 导入java.
尝试编写一个程序,其中用户输入他们一周的费用。麻烦在于我希望程序重新询问用户是否输入了不可接受的输入。我想出了如何检测负值的方法,但是当尝试捕获输入不匹配异常(如果像输入字符或字符串一样)时,循环只是无限运行,要求“星期一费用:”我如何使它,以便用户有另一个回答的机会?我试着Rest一下;但是这也打破了做而循环,我不想要。 这是我目前为止的代码: 谢谢你的帮助
我想我的程序跳过了while循环,但我真的不确定到底发生了什么。该函数应该通过找到GCD,然后将分子和分母除以该数字来减少分数。 我得到分子和分母的绝对值,以确保如果分数是负数,我会在最后保持它。如果分子为0,则要求我返回(0,1)。问题是关于while循环。。。似乎它被完全跳过了。有什么建议吗?
我正在构建一个gradebook来存储学生和教师,每个学生和教师都有一个唯一的ID,以及他们各自在Student和Teacher对象的ArrayList中注册或教学的类。我有文件夹路径“j:/compsci/类/”,为每个类存储一个文本文件。 文本文件格式: 第1行:班级名称、教师ID、期间、荣誉?、班级ID 第2行:班级中每个学生的学生ID(用逗号分隔)。 在这里,我初始化了每个学生正在接受的所
当我像这样做一个常规的while循环时 它打印 但第二个while循环在满足条件后再次运行。 所以结果是 “佛罗多是一个很好的霍比特人的名字”难道它不应该停止印刷吗 我设置了x的条件 编辑:哦,我现在明白了,哈哈,我想增量是在代码的末尾,开始是0