Python 程式:透過對數字的奇數位平方並連線生成 OTP
任務是透過對給定數字的奇數位平方並連線來建立一個一次性密碼 (OTP)。
輸入輸出場景
以下是透過對數字的奇數位平方並連線來建立 OTP 的輸入輸出場景
Input number = 123456789 Output OTP: 19254981
數字中的奇數位是 1、3、5、7、9。將每個數字平方得到 1、9、25、49、81。將這些平方後的數字連線在一起得到 OTP 19254981。
Input: 54321 Output: 2591
輸入數字中的奇數位是 5、3 和 1。將這些數字平方得到 25、9 和 1。將這些平方後的數字連線在一起得到 OTP 2591。
方法
我們可以按照以下步驟透過對給定數字的奇數位平方並連線來建立 OTP。
定義一個函式,該函式接收一個數字作為輸入。
初始化一個空列表來儲存平方後的奇數位。
遍歷數字的各位。
對於每個數字,使用模運算子 (digit % 2 != 0) 檢查它是否為奇數。如果數字為奇數,則將其平方 (digit ** 2) 並存儲。
處理完所有數字後,使用 join 方法將平方後的數字連線在一起,該方法將列表的元素連線成單個字串。平方後的數字在沒有分隔符的情況下連線在一起,從而生成單個字串。
返回連線後的 OTP 字串。
示例
這是一個示例,它透過對給定數字的奇數位平方並連線來建立 OTP。
def create_otp(number):
odd_digits = []
while number > 0:
digit = number % 10
if digit % 2 != 0:
odd_digits.append(str(digit ** 2))
number //= 10
otp = "".join(odd_digits[::-1])
return otp
# Define the input number
number = 789
print("Input number:", number)
otp = create_otp(number)
print("OTP:", otp)
輸出
Input number: 789 OTP: 4981
示例
在這個例子中,我們將建立一個函式,該函式接收一個數字作為輸入。該函式將數字轉換為字串並遍歷每個數字。如果一個數字是奇數(即不能被 2 整除),則該函式將該數字平方並將其新增到一個列表中。
處理完所有數字後,該函式使用生成器表示式將每個平方後的數字轉換為字串。然後,這些平方後的數字使用 **join()** 函式連線在一起,從而形成 OTP。
def create_otp(number):
odd_digits = [int(digit) for digit in str(number) if int(digit) % 2 != 0]
otp = "".join(str(digit**2) for digit in odd_digits)
return otp
# Define the input number
number = 12349
print("Input number:", number)
otp = create_otp(number)
print("OTP:", otp)
輸出
Input number: 12349 OTP: 1981
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP