簡體   English   中英

我在使用基本 Python 語法時遇到問題

[英]I am having trouble with basic Python syntax

我只是在學習 Python 和一般的編碼,我認為這是一個相當菜鳥的問題。

def get_age_difference(first, second):
    text = 'The age difference is '
    number = abs(int('%04d' % (first)) - int('%04d' % (second)))
    return text, number

print(get_age_difference(2001, 2018))

我得到('The age difference is ', 17)

我想得到The age difference is 17

我做錯了什么?

使用 f 字符串:

def get_age_difference(first, second):
    num = abs(int('%04d' % (first)) - int('%04d' % (second)))
    result = f'The age difference is {num}'
    return result
print(get_age_difference(2001, 2018))

或者只是使用 +

def get_age_difference(first, second):
    text = 'The age difference is '
    number = str(abs(int('%04d' % (first)) - int('%04d' % (second))))
    return text + number

print(get_age_difference(2001, 2018))

您返回一個包含兩個值的元組。 您可以使用元組解包將這些值中的每一個分配給單獨的變量。 注意到我已經刪除了文本中的尾隨空格 - 間距應該由顯示的東西決定。

def get_age_difference(first, second):
    text = 'The age difference is'
    number = abs(int('%04d' % (first)) - int('%04d' % (second)))
    return text, number

description, difference = get_age_difference(2001, 2018)

現在你有選擇了。 以下是使用 f 字符串和附加 arguments 進行打印的示例。

print(f"{description} {difference}")
print(description, difference)

或者,您可以將一個可迭代對象(例如元組)擴展為 function。 你的兩個值可以變成 arguments 來打印。

print(*get_age_difference(2001, 2018))

您應該使用格式化字符串;

def get_age_difference(first, second):
    num = abs(int('%04d' % (first)) - int('%04d' % (second)))
    result = f'The age difference is {num}'
    
    return result

print(get_age_difference(2001, 2018))

您將返回兩個將打印為tuple的數字。 而是以這種方式連接字符串

def get_age_difference(first, second):
    text = 'The age difference is '
    number = str(abs(int('%04d' % (first)) - int('%04d' % (second))))
    return text+ number

print(get_age_difference(2001, 2018))

這將打印所需的 output

你可以做類似的事情

def get_age_difference(first, second):
   number = abs(int('%04d' % (first)) - int('%04d' % (second)))
   result = 'The age difference is {}'.format(number)
   return result
def get_age_difference(first, second):
    text = 'The age difference is '
    number = abs(int('%04d' % (first)) - int('%04d' % (second)))
    print(text,number)

get_age_difference(2001, 2018)

你可以試試這個方法。

暫無
暫無

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

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