iT邦幫忙

1

如何優化我寫的程式,很簡單 新手發問

Itzy 2021-05-21 22:22:581713 瀏覽
  • 分享至 

  • xImage

目的是輸入兩個向量相加,用sim_list得到答案,但可以直接問(x1,y1)=多少,(x2,y2)=多少,而不是一個質一個質問??
x1=float(input('輸入a向量x質'))
y1=float(input('請輸入a向量y質'))
x2=float(input('輸入b向量x質'))
y2=float(input('輸入b向量x質'))
a=(x1,y1)
b=(x2,y2)
def sum_list(a,b):
return (a[0]+b[0],a[1]+b[1])
print(sum_list(a, b))
sum_list(a, b)

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
johnsonnnn
iT邦新手 4 級 ‧ 2021-05-22 07:23:47
最佳解答

方法一

# 輸入:1 2 3 4
data = input('輸入兩個向量值')
temp = data.split() # 分割空白
a = (float(temp[0]), float(temp[1])) # 每個數字分別提出並轉為float
b = (float(temp[2]), float(temp[3])) # 每個數字分別提出並轉為float
def sum_list(a,b):
    return (a[0]+b[0],a[1]+b[1])
print(sum_list(a, b))
sum_list(a, b)

方法二

numbers = list()
# 輸入:1 2 3 4
for i in range(4):
    data = float(input('輸入向量值')) # 一次輸入一個數字
    numbers.append(data) # 儲存到 numbers
a = numbers[:2] # 取出前兩個數字
b = numbers[2:] # 取出後兩個數字
def sum_list(a,b):
    return (a[0]+b[0],a[1]+b[1])
print(sum_list(a, b))
sum_list(a, b)
Itzy iT邦新手 5 級 ‧ 2021-05-22 09:48:13 檢舉

感謝,我有多學到split的用法了,本來書上沒教的/images/emoticon/emoticon12.gif

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-05-22 08:29:56

https://ithelp.ithome.com.tw/upload/images/20210522/20001787XwDA53tKMH.png

Itzy iT邦新手 5 級 ‧ 2021-05-22 09:37:33 檢舉

謝謝提醒

0
japhenchen
iT邦超人 1 級 ‧ 2021-05-22 11:43:52

不求分,僅供分享另外的方法
用list設問題及取值

questions = [["a","x"],["a","y"],["b","x"],["b","y"]]
ans = []
for q in questions:
    ans.append(float(input("輸入{0}向量{1}值".format(q[0],q[1]))))


# 以下傾印結果
for r in range(len(questions)) :
    q=questions[r]
    a=ans[r]
    print("{0}向量{1}值: {2}".format(q[0],q[1],a))
Itzy iT邦新手 5 級 ‧ 2021-05-23 10:10:37 檢舉

謝謝你,這是很聰明的做法ㄟ,對我來說有點小複雜><,但我了解了。其實我不知道分可以幹嘛ㄟ,也不知道怎麼給,sorry

都說不求分了,只是分享而已,只要有用就好

我要發表回答

立即登入回答