คำถามติดแท็ก if-statement

คำสั่ง "if" เป็นโครงสร้างการควบคุมการไหลในภาษาการเขียนโปรแกรมส่วนใหญ่ที่แยกการไหลของการดำเนินการขึ้นอยู่กับเงื่อนไขไบนารีโดยทั่วไปจะประเมินที่รันไทม์ หากงบมักจะเรียกว่าเงื่อนไข เมื่อใช้แท็กนี้โปรดใส่แท็กภาษาที่เหมาะสมเช่นเช่น "java" หากคำถามของคุณเฉพาะภาษา


13
ถ้า…อยู่ใน JSP หรือ JSTL
ฉันต้องการที่จะส่งออกรหัส HTML บางส่วนตามเงื่อนไขบางอย่างในไฟล์ JSP if (condition 1) { Some HTML code specific for condition 1 } else if (condition 2) { Some HTML code specific for condition 2 } ฉันจะทำสิ่งนั้นได้อย่างไร ฉันควรใช้ JSTL หรือไม่
283 jsp  if-statement  jstl 

4
แยกออกจาก if and foreach
ฉันมีวง foreach และคำสั่ง if หากพบการแข่งขันที่ฉันต้องการในที่สุดก็แยกออกจากด้านหน้า foreach($equipxml as $equip) { $current_device = $equip->xpath("name"); if ( $current_device[0] == $device ) { // found a match in the file $nodeid = $equip->id; <break out of if and foreach here> } }


30
จะหลีกเลี่ยงการเชื่อมโยง“ ถ้า” ได้อย่างไร?
สมมติว่าฉันมีรหัสหลอกนี้: bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); ฟังก์ชั่นexecuteStepXควรจะดำเนินการถ้าหากว่าก่อนหน้านี้ประสบความสำเร็จ ไม่ว่าในกรณีใดexecuteThisFunctionInAnyCaseฟังก์ชันควรถูกเรียกใช้ในตอนท้าย ฉันเป็นมือใหม่ในการเขียนโปรแกรมดังนั้นขออภัยสำหรับคำถามพื้นฐานมาก: มีวิธี (ใน C / C ++ เป็นต้น) เพื่อหลีกเลี่ยงifสายโซ่ยาว ๆ ที่ผลิต "pyramid of code" ที่ค่าใช้จ่ายของการอ่านรหัสได้ง่าย ? ฉันรู้ว่าถ้าเราสามารถข้ามการexecuteThisFunctionInAnyCaseเรียกใช้ฟังก์ชันรหัสอาจง่ายขึ้นเป็น: bool conditionA = executeStepA(); if (!conditionA) return; …

10
วิธี Pythonic เพื่อรวมคำสั่ง FOR สำหรับลูปและ IF
ฉันรู้วิธีใช้ทั้งลูปและ if statement ในบรรทัดแยกเช่น: >>> a = [2,3,4,5,6,7,8,9,0] ... xyz = [0,12,4,6,242,7,9] ... for x in xyz: ... if x in a: ... print(x) 0,4,6,7,9 และฉันรู้ว่าฉันสามารถใช้ list comprehension เพื่อรวมสิ่งเหล่านี้เมื่อข้อความง่าย ๆ เช่น: print([x for x in xyz if x in a]) แต่สิ่งที่ฉันไม่สามารถหาได้เป็นตัวอย่างที่ดีที่ใดก็ได้ (เพื่อคัดลอกและเรียนรู้จาก) แสดงชุดคำสั่งที่ซับซ้อน (ไม่ใช่แค่ "พิมพ์ x") ที่เกิดขึ้นหลังจากการรวมกันของ for for loop …

8
ขอบเขตของตัวแปรที่เริ่มต้นในคำสั่ง if คืออะไร
ฉันใหม่กับ Python ดังนั้นนี่อาจเป็นคำถามที่ง่าย รหัสต่อไปนี้ในไฟล์ Python (โมดูล) ทำให้ฉันสับสนเล็กน้อย: if __name__ == '__main__': x = 1 print x ในภาษาอื่น ๆ ที่ฉันเคยทำงานรหัสนี้จะทำให้เกิดข้อยกเว้นเนื่องจากxตัวแปรอยู่ในifคำสั่งและไม่ควรอยู่นอก แต่รหัสนี้ทำงานและพิมพ์ 1. ทุกคนสามารถอธิบายพฤติกรรมนี้ได้หรือไม่? ตัวแปรทั้งหมดถูกสร้างในโมดูลโกลบอล / มีให้สำหรับโมดูลทั้งหมดหรือไม่?

26
มีข้อความ 'if' มากเกินไป
รหัสต่อไปนี้ใช้งานได้ตามที่ฉันต้องการ แต่มันก็น่าเกลียดเกินไปหรืออย่างอื่น ฉันดูสูตรและพยายามเขียนวิธีแก้ปัญหาสองสามข้อ แต่ท้ายที่สุดก็มีข้อความคล้ายกันจำนวนหนึ่ง มีสูตรคณิตศาสตร์ชนิดหนึ่งที่จะเป็นประโยชน์กับฉันในกรณีนี้หรือเป็น 16 ถ้าข้อความสั่งยอมรับ? เพื่ออธิบายรหัสมันเป็นเกมประเภทหันกลับพร้อมกัน .. ผู้เล่นสองคนมีปุ่มการกระทำสี่ปุ่มแต่ละปุ่มและผลลัพธ์มาจากอาร์เรย์ (0-3) แต่ตัวแปร 'หนึ่ง' และ 'สอง' สามารถเป็นได้ มอบหมายอะไรก็ได้ถ้าสิ่งนี้ช่วยได้ ผลลัพธ์คือ 0 = ไม่ชนะ 1 = p1 ชนะ 2 = p2 ชนะ 3 = ชนะทั้งคู่ public int fightMath(int one, int two) { if(one == 0 && two == 0) { result = 0; …

5
วิธีตรวจสอบสถานะการออกโดยใช้คำสั่ง if
ฉันสงสัยว่าสิ่งใดจะเป็นวิธีที่ดีที่สุดในการตรวจสอบสถานะการออกในคำสั่ง if เพื่อสะท้อนผลลัพธ์เฉพาะ ฉันคิดว่ามันเป็น if [ $? -eq 1 ] then echo "blah blah blah" fi ปัญหาที่ฉันยังมีคือคำสั่ง exit อยู่ก่อนคำสั่ง if เพียงเพราะต้องมีรหัสการออกนั้น นอกจากนี้ฉันรู้ว่าฉันกำลังทำอะไรผิดพลาดเพราะทางออกจะเห็นได้ชัดว่าออกจากโปรแกรม

4
ความแตกต่างระหว่าง if (a - b <0) และ if (a <b)
ฉันอ่านArrayListซอร์สโค้ดของ Java และสังเกตเห็นการเปรียบเทียบบางอย่างในคำสั่ง if ใน Java 7 วิธีgrow(int)ใช้ if (newCapacity - minCapacity &lt; 0) newCapacity = minCapacity; ใน Java 6 growไม่มีอยู่จริง ensureCapacity(int)อย่างไรก็ตามวิธีการใช้ if (newCapacity &lt; minCapacity) newCapacity = minCapacity; อะไรคือเหตุผลที่อยู่เบื้องหลังการเปลี่ยนแปลง? มันเป็นปัญหาด้านประสิทธิภาพหรือเป็นสไตล์หรือไม่? ฉันสามารถจินตนาการได้ว่าการเปรียบเทียบกับศูนย์นั้นเร็วกว่า แต่ทำการลบอย่างสมบูรณ์เพื่อตรวจสอบว่ามันเป็นลบหรือเปล่า นอกจากนี้ในแง่ของ bytecode นี้จะเกี่ยวข้องกับสองคำสั่ง ( ISUBและIF_ICMPGE) แทนหนึ่ง ( IFGE)

18
วิธี Pythonic เพื่อหลีกเลี่ยงคำสั่ง“ if x: return x”
ฉันมีวิธีการที่เรียก 4 วิธีอื่น ๆ ตามลำดับเพื่อตรวจสอบเงื่อนไขเฉพาะและคืนค่าทันที def check_all_conditions(): x = check_size() if x: return x x = check_color() if x: return x x = check_tone() if x: return x x = check_flavor() if x: return x return None ดูเหมือนว่าจะมีรหัสกระเป๋ามากมาย แทนที่จะใช้คำสั่ง 2 บรรทัดหากฉันต้องการทำสิ่งต่อไปนี้: x and return x แต่นั่นเป็น Python ที่ไม่ถูกต้อง ฉันคิดถึงวิธีแก้ปัญหาที่เรียบง่ายและสง่างามใช่หรือไม่? บังเอิญในสถานการณ์นี้วิธีการตรวจสอบทั้งสี่นั้นอาจมีราคาแพงดังนั้นฉันจึงไม่ต้องการเรียกพวกเขาหลายครั้ง

6
วิธีการตรวจสอบว่าสตริงมีองค์ประกอบจากรายการใน Python
ฉันมีสิ่งนี้: extensionsToCheck = ['.pdf', '.doc', '.xls'] for extension in extensionsToCheck: if extension in url_string: print(url_string) ฉันสงสัยว่าสิ่งใดจะเป็นวิธีที่สง่างามยิ่งกว่าในการทำสิ่งนี้ใน Python (โดยไม่ใช้การวนซ้ำ) ฉันกำลังคิดถึงบางสิ่งเช่นนี้ (เช่นจาก C / C ++) แต่มันไม่ทำงาน: if ('.pdf' or '.doc' or '.xls') in url_string: print(url_string) แก้ไข: ฉันถูกบังคับให้อธิบายว่าสิ่งนี้แตกต่างกับคำถามด้านล่างซึ่งมีการทำเครื่องหมายว่าซ้ำซ้อนหรือไม่ (ดังนั้นจึงไม่ถูกปิดฉันเดาว่า) ข้อแตกต่างคือฉันต้องการตรวจสอบว่าสตริงเป็นส่วนหนึ่งของรายการสตริงหรือไม่ในขณะที่คำถามอื่น ๆ กำลังตรวจสอบว่าสตริงจากรายการสตริงเป็นสตริงย่อยของสตริงอื่นหรือไม่ คล้ายกัน แต่ไม่เหมือนกันและมีความหมายเหมือนกันเมื่อคุณกำลังมองหาคำตอบออนไลน์ IMHO คำถามสองข้อนี้กำลังมองหาที่จะแก้ปัญหาตรงข้ามกัน ทางออกสำหรับทั้งคู่กลายเป็นเหมือนเดิม

4
ทำไมคำสั่ง if-if ที่รวมการมอบหมายและการตรวจสอบความเท่าเทียมกลับมาจริงหรือไม่
ฉันได้รับความคิดของความผิดพลาดเริ่มต้นบางอย่างและฉันจบลงด้วยหนึ่งในifคำสั่ง ฉันขยายโค้ดเล็กน้อยถึงสิ่งนี้: int i = 0; if (i = 1 &amp;&amp; i == 0) { std::cout &lt;&lt; i; } ฉันได้เห็นว่าifผลตอบแทนที่คำสั่งจริงและมันcoutก็เป็นi 1หากiได้รับมอบหมาย1ในงบถ้าทำไมไม่i == 0กลับมาtrue?
216 c++  if-statement 

5
ความหมายของข้อผิดพลาด“ [: มีอาร์กิวเมนต์มากเกินไป” จากถ้า [] (วงเล็บเหลี่ยม)
ฉันไม่พบทรัพยากรที่ตรงไปตรงมาเรียบง่ายสะกดความหมายของและแก้ไขข้อผิดพลาดเชลล์ BASH ต่อไปนี้ดังนั้นฉันโพสต์สิ่งที่ฉันพบหลังจากทำการวิจัย ข้อผิดพลาด: -bash: [: too many arguments รุ่นที่เหมาะกับ bash open square bracket colon too many argumentsGoogle: บริบท:เงื่อนไข if ในวงเล็บเหลี่ยมเดียวที่มีตัวดำเนินการเปรียบเทียบอย่างง่ายเช่นเท่ากับมากกว่า ฯลฯ ตัวอย่างเช่น: VARIABLE=$(/some/command); if [ $VARIABLE == 0 ]; then # some action fi

12
JavaScript บรรทัดเดียว 'if' คำสั่ง - ไวยากรณ์ที่ดีที่สุดทางเลือกนี้หรือไม่
มันถูกใส่ไว้อย่างชัดเจนแม้ว่าความเห็นจะไม่น้อยไปกว่านั้นการได้รับวงเล็บปีกกาในifคำสั่งบรรทัดเดียวนั้นไม่เหมาะสำหรับการบำรุงรักษาและการอ่าน แต่แล้วเรื่องนี้ล่ะ if (lemons) { document.write("foo gave me a bar"); } มันจะถูกบีบอัดมากขึ้นและถ้าขยายออกไปวงเล็บปีกกาจะไม่ถูกลืม มีปัญหาอะไรที่โจ่งแจ้งหรือไม่และถ้าไม่จะต้องพิจารณาอะไรบ้าง? ฉันรู้สึกว่ามันยังคงอ่านได้อย่างน้อยก็มากเท่ากับผู้ประกอบการที่สาม สำหรับฉันดูเหมือนว่าผู้ประกอบการที่ประกอบไปด้วยสามคนไม่ได้รับการแนะนำเท่าที่ควรเนื่องจากความสามารถในการอ่านแม้ว่าฉันจะรู้สึกว่าข้อสรุปนั้นไม่ได้เป็นเอกฉันท์ แฝดชั่วร้ายในตัวฉันต้องการที่จะแนะนำสิ่งนี้ถึงแม้ว่าไวยากรณ์จะไม่ชัดเจนสำหรับมันและอาจเป็นเพียงความคิดที่ไม่ดี (syntax) ? document.write("My evil twin emerges"): "";

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.