#17159: list後面為甚麼加不了字串--python


abcd9597938@gmail.com (陳人豪)

學校 : 不指定學校
編號 : 80529
來源 : [159.117.69.235]
最後登入時間 :
2019-05-18 14:51:27
a005. Eva 的回家作業 -- POJ | From: [159.117.69.235] | 發表日期 : 2019-03-19 02:32

import sys
for s in sys.stdin:
if(len(s)>2):
x=s.split()
if((int(x[1])-int(x[0]) == int(x[2])-int(x[1])) and (int(x[2])-int(x[1]) == int(x[3])-int(x[2]))):
print(s+" "+str(int(x[3])+(int(x[3])-int(x[2]))))
else:
print(s+" "+str(int(int(x[3])*(int(x[3])/int(x[2])))))

 

在VScode裡面是可以把字串加起來的,但是在測試時就只會有list本身,如1 2 3 4,我後面要加的str(int(x[3])+(int(x[3])-int(x[2])))會直接消失,但是如果在測試裡單印str(int(x[3])+(int(x[3])-int(x[2])))又可以出現5,這到底怎麼回事?

 
#17160: Re:list後面為甚麼加不了字串--python


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a005. Eva 的回家作業 -- POJ | From: [111.246.59.111] | 發表日期 : 2019-03-19 10:25

import sys
for s in sys.stdin:
if(len(s)>2):
x=s.split()
if((int(x[1])-int(x[0]) == int(x[2])-int(x[1])) and (int(x[2])-int(x[1]) == int(x[3])-int(x[2]))):
print(s+" "+str(int(x[3])+(int(x[3])-int(x[2]))))
else:
print(s+" "+str(int(int(x[3])*(int(x[3])/int(x[2])))))

 

在VScode裡面是可以把字串加起來的,但是在測試時就只會有list本身,如1 2 3 4,我後面要加的str(int(x[3])+(int(x[3])-int(x[2])))會直接消失,但是如果在測試裡單印str(int(x[3])+(int(x[3])-int(x[2])))又可以出現5,這到底怎麼回事?


s 後面有換行符號。

 
#17161: Re:list後面為甚麼加不了字串--python


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a005. Eva 的回家作業 -- POJ | From: [111.246.59.111] | 發表日期 : 2019-03-19 10:52

 

import sys

t = int(sys.stdin.readline())

for i in range(t):

    # s 後面會有換行符號

    # 如果會列印 s 可先用 strip 去掉

    s = sys.stdin.readline().strip()

    

    # 把 s 切成 list 順便轉成 int

    x = [int(c) for c in s.split()]

    # x = list(map(int, s.split()))

    

    if(x[1]-x[0] == ... 

        print(s, ...    

        # 列印會幫你加空白

 
#17165: Re:list後面為甚麼加不了字串--python


abcd9597938@gmail.com (陳人豪)

學校 : 不指定學校
編號 : 80529
來源 : [159.117.69.235]
最後登入時間 :
2019-05-18 14:51:27
a005. Eva 的回家作業 -- POJ | From: [159.117.69.235] | 發表日期 : 2019-03-20 22:50

 

import sys

t = int(sys.stdin.readline())

for i in range(t):

    # s 後面會有換行符號

    # 如果會列印 s 可先用 strip 去掉

    s = sys.stdin.readline().strip()

    

    # 把 s 切成 list 順便轉成 int

    x = [int(c) for c in s.split()]

    # x = list(map(int, s.split()))

    

    if(x[1]-x[0] == ... 

        print(s, ...    

        # 列印會幫你加空白

 

感謝回應!




 
ZeroJudge Forum