小弟是python新手
想請教各位大大
<讓使用著輸入三個整數,並且輸出偶數部分,要按照格式輸出>
ex:
輸入:3
輸入:4
輸入:6
................
輸出:
偶數 = 4 , 8
................
小弟用 for loop,但是不能出現在同一行:
nm1 = int(input(": "))
nm2 = int(input(": "))
nm3 = int(input(": "))
nm4 = [nm1, nm2, nm3]
for nms in nm4:
if nms%2 == 0:
print(nms)
................
創新的 list,但是出來的是[4, 6]:
nm1 = int(input(": "))
nm2 = int(input(": "))
nm3 = int(input(": "))
nm4 = [nm1, nm2, nm3]
nms = []
for x in nm4:
if x%2 == 0:
nms.append(x)
print(nms)
................
只能一項一項列,把所有可能都列出來:
if nm1%2 != 0 and nm2%2 == 0 and nm3%2 == 0:
print("偶數 = %d , %d" %(nm2, nm3))
elif.....
elif.....
................
想問各位大佬有沒有比一項一項列出來還更有效率的方法
基本上就存到串列裡面輸出
even = []#空串列儲存偶數
for i in range(3):
temp = int(input())
if temp % 2 == 0:
even.append(temp)
if even:#如果有偶數
print("偶數=",end="")#把換行符號換成空字串
print(*even,sep=",")#把原本逗點形成的空格換成逗點
如果想用format
even = []#空串列儲存偶數
for i in range(3):
temp = int(input())
if temp % 2 == 0:
even.append(temp)
if even:
ans = str(even)[1:-1]#變成文字,會比較單純
print(f"偶數={ans}")
就這樣,基本上增加輸入的次數阿、換成奇數阿或者奇偶數都要,都可以這樣改
第二個方法,看起來只是輸出的格式不合你的意思。
可以改成
nm1 = int(input(": "))
nm2 = int(input(": "))
nm3 = int(input(": "))
nm4 = [nm1, nm2, nm3]
nms = []
for x in nm4:
if x%2 == 0:
nms.append(x)
print(" , ".join(map(str, nms)))
兩行...其實要一行也可以,只是很醜。
numList = [input() for i in range(3)]
print(",".join(filter(lambda x: int(x)%2 ==0, numList)))