簡體   English   中英

條件表達式無法正常運行(Python)

[英]Conditional Expression not functioning properly (Python)

我應該寫幾行代碼來創建條件表達式(三元操作),如果user_val小於0,則條件表達式為字符串“負”,如果0或大於0,則條件表達式為“非負”。

當數字小於零時,我當前擁有的代碼將顯示“負數”,但是將0或更大的數字分配給user_val時,它不會顯示“非負數”。

user_val = -9

cond_str = 'negative' 
cond_str if (user_val < 0) else
cond_str == 'non-negative'

print(user_val, 'is', cond_str)

我嘗試將cond_str定義為空字符串,並且還嘗試在語句周圍進行交換,以便首先使用cond_str =='non-negative'。 我還嘗試一起刪除了代碼的第二行,但仍然無法正常工作。 感謝您的幫助。 任何意見或建議將不勝感激!

我認為您的意思是使用:

cond_str = 'negative' if (user_val < 0) else 'non-negative'

由於Python對空格敏感,因此三元運算符必須在一行上。

我不明白為什么您要在上一條語句中測試相等性。

對我來說,最簡單的方法如下:

cond_str = 'negative' if user_val < 0 else 'non-negative'

您可以將if語句與Python中的賦值鏈接起來,以測試要分配的值。 這稱為“三元運算符”。

您將希望構建一個條件語句來在一行中執行此操作。 所以:conditionalstatement =(userval> = 0)? “ non-negative”:“ negative”; 這樣,0將被注冊為非負數。 一個簡單的程序,您可以使用索引或數組對其進行擴展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM