我正在學習創建函式。整個程式基本上只列印一個數字的偶數位,但我需要創建一個函式,如果數字沒有偶數位,將列印它沒有任何數字,但我不知道如何制作條件。提前致謝。
到目前為止,這是沒有我需要的功能的代碼:
def imprimirPares (num):
while num != 0:
resultado = 0
i = 1
digito = num % 10
if digito % 2 == 0:
resultado = digito * i
i *= 10
num // 10
return resultado
def ingresarEyS (num):
print ("Nuevo numero con los valores pares de la cifra: ")
num = ()
print ("El nuevo numero es ",imprimirPares(num),".")
uj5u.com熱心網友回復:
使用您已經存在的功能非常容易。您犯的一個錯誤是您沒有將結果分配num // 10給num雖然。
def has_even_digit(num):
while num != 0:
result = 0
i = 1
digit = num % 10
if digit % 2 == 0:
# even digit found
return True
else:
result = digit * i
i *= 10
num = num // 10
return False
print(has_even_digit(45))
print(has_even_digit(13))
print(has_even_digit(1579315))
print(has_even_digit(780278452))
預期輸出:
True
False
False
True
編輯
正如@Sash Sinha 指出的那樣,此解決方案僅適用于正整數。num = abs(num)盡管在開始 while 回圈之前使用它,但為所有整數調整它很容易。
如果您需要此功能float或complex使用的解決方案str將更易于實施和清潔,如以下@Sash Sinha 的回答所示。
uj5u.com熱心網友回復:
所以我假設給你一個數字,例如"2345",你應該列印"2, 4"。
- 將數字轉換為字串:
- 創建空串列以追加偶數并迭代:
def evenDigits(num): num = str(num) evenNumbers = [] //empty list to store even numbers for digit in num: if digit % 2 == 0: //check if even digit evenNumbers.append(digit) return evenNumbers //returns list with even numbers num = input("Give me a number!") result = evenDigits(num) print(*result, sep = ", ") //will print all even digits on same line.
uj5u.com熱心網友回復:
您可以創建兩個單獨的函式來獲取數字,然后檢查任何數字是否可被 2 整除。
from numbers import Number
from prettytable import PrettyTable
def get_digits(num: Number) -> list[int]:
return [int(ch) for ch in str(num) if ch.isdigit()]
def contains_even(digits: list[int]) -> bool:
return any(d % 2 == 0 for d in digits)
def main() -> None:
t = PrettyTable(['num', 'digits', 'contains_even'])
t.align = "l"
for num in [11, -1230, -193.23, 23, 7.135, 0.354, -3333, complex(5.1, 4.5)]:
digits = get_digits(num)
t.add_row([num, digits, contains_even(digits)])
print(t)
if __name__ == '__main__':
main()
輸出:
------------ ----------------- ---------------
| num | digits | contains_even |
------------ ----------------- ---------------
| 11 | [1, 1] | False |
| -1230 | [1, 2, 3, 0] | True |
| -193.23 | [1, 9, 3, 2, 3] | True |
| 23 | [2, 3] | True |
| 7.135 | [7, 1, 3, 5] | False |
| 0.354 | [0, 3, 5, 4] | True |
| -3333 | [3, 3, 3, 3] | False |
| (5.1 4.5j) | [5, 1, 4, 5] | True |
------------ ----------------- ---------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/445439.html
標籤:Python python-3.x 功能
