这是我写的代码
def seq3np1(n):
count = 0
while(n != 1):
if(n % 2) == 0: # n is even
n = n // 2
count += 1
else: # n is odd
n = n * 3 + 1
count += 1
return count
def main():
num = int(input("what number do you want to put?: "))
start = int(input("Number for upper bound: "))
for i in range(1, start+1):
count = seq3np1(num)
print("This is the starting number: ", num)
print("Number of iterations:", count)
main()
我需要做的是:
•要求用户提供用于范围上限的值
•使用名为start的迭代变量创建for循环,该变量提供从1到(并包括)用户提供的上限的值。
•为每个start值调用seq3np1函数一次。
•编写一个print语句,打印start值和迭代次数。
但是我的函数没有为每个start值调用seq3np1函数。
我的for循环功能有问题吗?
另外,我需要创建图形数据。但是,我应该在main函数中使用setworldcoordinates函数吗?或者我是否为图形创建了另一个函数?
答案 0 :(得分:1)
您只需在for循环中打印count
,然后拨打count = seq3np1(i)
而不是seq3np1(num)
。
def main():
start = int(input("Number for upper bound: "))
for i in range(1, start+1):
count = seq3np1(i)
print("Number of iterations:", count)