简体   繁体   English

每行最多创建 8 个项目(python)

[英]create a maximum of 8 items per row(python)

i am extremely new to python.我对python非常陌生。 i have googled but i haven't found what i need for hours.我已经用谷歌搜索过,但我几个小时都没有找到我需要的东西。

i'm very confused on why my program is like this and would very much appreciate pointers.我很困惑为什么我的程序是这样的,非常感谢指点。 so this is my program:所以这是我的程序:

number = int(input("Enter number: "))  
mylist = []  

if number > 1:
    for num in range(1,number + 1):  
        if num > 1:  
             for i in range(2,num): 
                  if (num % i) == 0:  
                      break                 
             else:  
                  mylist.append(str(num))
                  print(mylist)


else:
    print("no prime number")

so eg if i insert 50 i wanted it to have an output of something like:所以例如,如果我插入 50 我希望它有类似的输出:

['2', '3', '5', '7', '11', '13', '17', '19',
'23', '29', '31', '37', '41', '43', '47']

but instead what i got was this chaos但我得到的是这种混乱

['2']
['2', '3']
['2', '3', '5']
['2', '3', '5', '7']
['2', '3', '5', '7', '11']
['2', '3', '5', '7', '11', '13']
['2', '3', '5', '7', '11', '13', '17']
['2', '3', '5', '7', '11', '13', '17', '19']
['2', '3', '5', '7', '11', '13', '17', '19', '23']
['2', '3', '5', '7', '11', '13', '17', '19', '23', '29']
['2', '3', '5', '7', '11', '13', '17', '19', '23', '29', '31']
['2', '3', '5', '7', '11', '13', '17', '19', '23', '29', '31', '37']
['2', '3', '5', '7', '11', '13', '17', '19', '23', '29', '31', '37', '41']
['2', '3', '5', '7', '11', '13', '17', '19', '23', '29', '31', '37', '41', '43']
['2', '3', '5', '7', '11', '13', '17', '19', '23', '29', '31', '37', '41', '43', '47']

Your print statement is indented incorrectly:您的打印语句缩进不正确:

number = int(input("Enter number: "))  
mylist = []  

if number > 1:
    for num in range(1,number + 1):  
        if num > 1:  
             for i in range(2,num): 
                  if (num % i) == 0:  
                      break                 
             else:  
                  mylist.append(str(num))
    print(mylist)
else:
    print("no prime number")

You can group them into sublists of 8 for the purpose of printing.您可以将它们分组为 8 个子列表以进行打印。 Just make your mylist as usual by appending the values then after you have processed all the values you can print sublists of 8只需像往常一样通过附加值来制作 mylist,然后在处理完所有值后,您就可以打印 8 个子列表

number = int(input("Enter number: "))
mylist = []

if number > 1:
    for num in range(1,number + 1):
        if num > 1:
             for i in range(2,num):
                  if (num % i) == 0:
                      break
             else:
                  mylist.append(str(num))
    print(*[mylist[i:i+8] for i in range(0, len(mylist), 8)], sep="\n")
else:
    print("no prime number")

OUTPUT输出

['2', '3', '5', '7', '11', '13', '17', '19']
['23', '29', '31', '37', '41', '43', '47']

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM