无法找到中断序列的方法

Unable to find a way to break a sequence

如果名称的长度大于序列的长度,我希望序列中断(不打印任何序列),但我找不到方法: 我知道 print(List) 语句不应该存在,但我不知道该放在哪里。

x=input("enter name")
def seq():
   q=1
   n=int(input("enter number"))
   List=[n]
   while q<n:
       if (n % 2):
           n = 3*n + 1
           List.append(n)
       else:
           n=n//2
           List.append(n)
   while len(List)<len(x):
       break

   print(List)
seq()

将您的代码更改为:

x=input("enter name")
def seq():
   q=1
   n=int(input("enter number"))
   List=[n]
   while q<n:
       if (n % 2):
           n = 3*n + 1
           List.append(n)
       else:
           n=n//2
           List.append(n)
       if len(List)<len(x):
           break

   print(List)
seq()

尝试将 when 替换为 If Condition,您也可以尝试将 x 值传递给 fun:


def seq():
   q=1
   n=int(input("enter number"))
   List=[n]
   while q<n:
       if (n % 2):
           n = 3*n + 1
           List.append(n)
       else:
           n=n//2
           List.append(n)
   If (len(List)<len(x)):
       break

   print(List)

x=input("enter name")
seq()