簡體   English   中英

如何將 output 變成列表

[英]How to turn an output into a list

我對 python 真的很陌生,所以對於低級別的問題我很抱歉..

我目前的代碼是

x = input("lower number:")
y = input("higher number:")
a=list(range(int(x), int(y)+1))
print(a)
for i in range (int(x), int(y)+1):
    number=True
    if i==1:
        number = False
    for j in range (2, i):
        if i%j==0:
            number = False
            break
    if number:
        print(i)

output 像這樣出來

lower number:1
higher number:10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2
3
5
7

我希望我的 output 看起來像 [2,3,5,7] 而不是當前的 output。

創建一個列表並 append 你的號碼給它。

x = input("lower number:")
y = input("higher number:")
a = list(range(int(x), int(y) + 1))
o = []

for i in range (int(x), int(y) + 1):
    number = True

    if i==1:
        number = False

    for j in range (2, i):
        if i % j ==0:
            number = False
            break
    if number:
        o.append(i)

print(o)

添加到@Tigran發布的答案,但進行了編輯

OP 希望 output 顯示為[2,3,5,7] ,基本上沒有空格。 因此,在他(@Tigran)答案中發布的代碼片段之上,

x = input("lower number:")
y = input("higher number:")
a = list(range(int(x), int(y) + 1))
o = []

for i in range (int(x), int(y) + 1):
    number = True

    if i==1:
        number = False

    for j in range (2, i):
        if i % j ==0:
            number = False
            break
    if number:
        o.append(i)

print(o)

您可以使用.replace() function。 這將顯示為

x = input("lower number:")
y = input("higher number:")
a = list(range(int(x), int(y) + 1))
o = []

for i in range (int(x), int(y) + 1):
    number = True

    if i==1:
        number = False

    for j in range (2, i):
        if i % j ==0:
            number = False
            break
    if number:
        o.append(i)

print(str(o).replace(" ", ""))

請注意使用str()將數據類型轉換為字符串以刪除空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM