範例輸入/輸出:
code:
# -*- coding: utf-8 -*-
"""
Created on Mon Nov 20 21:34:48 2023
@author: SavingKing
"""
lis_input=[]
for i in range(4):
lis_input.append(input())
#['10', '35', '60', '85']
lis_input = [strr+"\n" for strr in lis_input]
with open("read.txt","r") as f:
lis_read = f.readlines()
#['59\n', '62\n', '75\n', '90']
lis_read[-1] = lis_read[-1]+"\n"
lis_all = lis_input + lis_read
lis_all.sort()
#['10\n', '35\n', '59\n', '60\n', '62\n', '75\n', '85\n', '90\n']
lis_all[-1] = lis_all[-1].strip("\n")
strr_all = "".join(lis_all)
#'10\n35\n59\n60\n62\n75\n85\n90'
print(strr_all)
with open("write.txt","w") as f:
f.write(strr_all)
輸出結果:
輸出的結果看起來是正確的
但評測為答案錯誤!
推薦hahow線上學習python: https://igrape.net/30afN
input的數字全部都兩位數
使用str type排序也看不出錯誤
若是有三位數的數字
會出現以下情況:
110排序在20之前,
因為1 < 2
可能有用不同的input去評測
改用int type排序
code:
# -*- coding: utf-8 -*-
"""
Created on Mon Nov 20 21:34:48 2023
@author: SavingKing
"""
lis_input=[]
for i in range(4):
lis_input.append(input())
#['10', '35', '60', '85']
lis_input = [int(strr.strip("\n")) for strr in lis_input]
with open("read.txt","r") as f:
lis_read = f.readlines()
#['59\n', '62\n', '75\n', '90']
# lis_read[-1] = lis_read[-1]+"\n"
lis_read_int = [ int(strr.strip("\n")) for strr in lis_read ]
lis_all_int = lis_input + lis_read_int
lis_all_int.sort()
#[10, 35, 59, 60, 62, 75, 85, 90]
lis_all = [str(num)+"\n" for num in lis_all_int ]
#['10\n', '35\n', '59\n', '60\n', '62\n', '75\n', '85\n', '90\n']
lis_all[-1] = lis_all[-1].strip("\n")
strr_all = "".join(lis_all)
#'10\n35\n59\n60\n62\n75\n85\n90'
print(strr_all)
with open("write.txt","w") as f:
f.write(strr_all)
輸出結果:
需要input三位數的數字
才看得出來coding是否有誤
評測後:答案正確
推薦hahow線上學習python: https://igrape.net/30afN
近期留言