ฟังก์ชันที่คืนค่าหลายค่า
ในแบบฝึกหัดก่อนหน้า เราได้สร้าง tuple กำหนดค่าให้ตัวแปร และแกะ tuple ออกมาใช้งาน ในแบบฝึกหัดนี้ จะได้ลองคืนค่าหลายค่าจากฟังก์ชันโดยใช้ tuple มาอัปเดตฟังก์ชัน shout() ของเรากัน แทนที่จะคืนค่าสตริงเดียว เราจะคืนค่าสตริงสองตัว โดยเชื่อมสตริง !!! ต่อท้ายแต่ละตัว
สังเกตว่า return x, y และ return (x, y) ให้ผลเหมือนกัน เพราะ Python จะแพ็ก x และ y เป็น tuple โดยอัตโนมัติ!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น: การเขียนฟังก์ชัน
คำแนะนำการฝึกหัด
- แก้ไขส่วนหัวของฟังก์ชันให้ชื่อฟังก์ชันเป็น
shout_allและรับพารามิเตอร์สองตัวตามลำดับ คือword1และword2 - เชื่อมสตริง
'!!!'ต่อท้ายword1และword2แล้วกำหนดค่าให้กับshout1และshout2ตามลำดับ - สร้าง tuple ชื่อ
shout_wordsที่ประกอบด้วยshout1และshout2 - เรียก
shout_all()ด้วยสตริง'congratulations'และ'you'แล้วกำหนดผลลัพธ์ให้กับyell1และyell2(อย่าลืมว่าshout_all()คืนค่า 2 ตัว!)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define shout_all with parameters word1 and word2
def shout_all(____, ____):
"""Return a tuple of strings"""
# Concatenate word1 with '!!!': shout1
# Concatenate word2 with '!!!': shout2
# Construct a tuple with shout1 and shout2: shout_words
# Return shout_words
return shout_words
# Pass 'congratulations' and 'you' to shout_all(): yell1, yell2
# Print yell1 and yell2
print(yell1)
print(yell2)