เจ้านายของฉันต้องการทราบว่าต้องใช้เวลานานเท่าใดในการเพิ่มจำนวนเต็มสองจำนวนเข้าด้วยกัน แต่ฉันไม่ชอบทำงานวันหยุดสุดสัปดาห์และฉันคิดว่ามันยุติธรรมที่รหัสของฉันก็ไม่เหมือนกัน ปัญหาคือเจ้านายเป็นคนที่เรียกร้องและคิดว่าฉันควรใส่เวลาเพื่อให้แน่ใจว่าเวลาที่ใช้อยู่เหมือนเดิมและฉันรู้ว่าเขากำลังจะตรวจสอบว่ารหัสทำงานอย่างถูกต้องหรือไม่
คุณช่วยเขียนโปรแกรมสั้น ๆ ที่:
- ยอมรับจำนวนเต็มสองจำนวนและส่งคืนผลลัพธ์ที่ถูกต้องของการเพิ่มและเวลาที่ใช้ในการทำการบวก - เวลานี้ควรจะเป็นไปได้และขึ้นอยู่กับรันไทม์ของรหัส อย่างไรก็ตามหากคุณต้องการแอบดูการทำงานบางอย่างระหว่างรหัสที่ตั้งเวลาซึ่งทำให้มันใช้งานได้นานกว่าที่ควรจะได้รับอนุญาต อย่างไรก็ตามคุณไม่สามารถส่งออกเวลาปลอมได้
- ไม่ทำงานในวันหยุดสุดสัปดาห์ในรหัสเวลาท้องถิ่น (ไม่สามารถส่งคืนผลลัพธ์ผิดพลาดได้, รหัสต้องหยุดพัก, ข้อผิดพลาดหรือไม่สามารถดำเนินการได้)
- ไม่ชัดเจนในทันทีว่าทำไมมันไม่ทำงานในวันหยุดสุดสัปดาห์
ฉันรู้ว่าเกณฑ์แรกเป็นสิ่งที่แปลก แต่ฉันต้องการให้แน่ใจว่าผู้คนสามารถนำเข้าห้องสมุดวันที่ / เวลาหากจำเป็นโดยไม่ต้องสงสัยเกณฑ์ 3 แต่ฉันแน่ใจว่ามีคนฉลาดบางคนดังนั้น-10 ตัวอักษรถึง ทุกคนที่สามารถทำได้โดยไม่ต้องใช้ฟังก์ชันปฏิทินจากไลบรารีวันที่มาตรฐาน
เกี่ยวกับ 'วันที่ / เวลามาตรฐาน'
ตัวอย่างของไลบรารีดาต้าไทม์มาตรฐานรวมถึง pythons datetime
, date
object object ของjavascript , java.util.Date
และ like ฟังก์ชั่นในการคำนวณ timedeltas สำหรับการดำเนินการเช่นtimeit
โมดูลpythons จะไม่ละเมิด criteia นี้เนื่องจากเจ้านายคาดหวังว่ารหัสจะถูกกำหนดเวลา ในบางกรณีไลบรารีเหล่านี้จะต้องนำเข้าเพื่อเข้าถึงฟังก์ชั่นเวลาใดก็ได้ดังนั้นจึงอนุญาตให้เรียกใช้ฟังก์ชันที่คืนเวลานับตั้งแต่จุดเริ่มต้นของยุคปัจจุบันเป็นจำนวนเต็ม แต่ฟังก์ชั่นปฏิทินที่ส่งกลับวัตถุ datetime ที่มีโครงสร้าง ไม่อนุญาตให้ชั่วโมงชั่วโมงวัน ฯลฯ
แก้ไข: เกี่ยวกับคำถามของ Dan04 รหัสจะต้องเป็นไปตามเกณฑ์ 4 ข้อเหล่านี้เกี่ยวกับเวลาที่มันจะใช้งานได้หรือไม่ทำงาน คุณควรอธิบายวิธีการตรวจสอบรหัสของคุณด้วยเนื่องจากความหย่อนในเช้าวันจันทร์ / คืนวันศุกร์ควรให้โอกาสสำหรับวิธีที่สร้างสรรค์ในการย่อรหัสให้สั้นลง
- ต้องไม่ทำงานตั้งแต่ 00:00:00 เช้าวันเสาร์จนถึง 23:59:59 คืนวันอาทิตย์
- ต้องทำงานจาก 06:00:00 เช้าวันจันทร์ถึง 19:59:59 เย็นวันศุกร์
- สามารถทำงานได้หรือไม่ทำงานตั้งแต่ 00:00:00 เช้าวันจันทร์ถึง 5:59:59 เช้าวันจันทร์
- สามารถทำงานได้หรือไม่ทำงานตั้งแต่ 20:00:00 เย็นวันศุกร์ถึง 23:59:59 เช้าวันศุกร์
edit2: โดยทันทีจะต้องตรงตามเกณฑ์ 3 ข้อต่อไปนี้:
- ต้องไม่เรียกใช้ฟังก์ชันที่เรียกว่า
DayOfWeek
(หรือคล้ายกัน) โดยไม่ใช้ฟังก์ชันนี้เพื่อคำนวณเวลาของฟังก์ชัน - ต้องไม่ใช้วันเสาร์หรือวันอาทิตย์หรือตัวย่อเป็นภาษาอังกฤษ
- ต้องไม่ใช้ Sat หรือ Sun (หรือในกรณีตัวอักษรสำรอง) โดยไม่มีตัวแปรที่มีชื่อเหมือนกันไม่ได้ใช้เพื่อกำหนดวันในสัปดาห์หรือเมื่อพิจารณาว่าควรรันโค้ดหรือไม่