2 回答

TA貢獻1883條經驗 獲得超3個贊
您可以刪除 mult() 函數定義,因為它似乎不是特別重要(如果重要請糾正我)。
您的代碼將如下所示:
import time
while True:
num = input("Enter number: ")
try:
for i in range(1, int(num)+1):
print(str(i) + " x " + num + " = " + str(i * int(num)))
except ValueError:
print("Please enter a number")
continue
time.sleep(2)
這最初不起作用的原因是因為您的 try 語句圍繞著一個定義,而不是圍繞著 mult() 函數的實際調用。這意味著當它運行時,它試圖定義一個名為 的函數mult,并且運行良好。然而,當它真正調用第 13 行的函數時,由于沒有 try 語句而導致它中斷。

TA貢獻1744條經驗 獲得超4個贊
為什么要在 try 中定義 mult?
嘗試將 try 放入函數中?,F在您正在嘗試檢查是否可以創建函數 mult。成功后你嘗試調用它(你會遇到問題的地方)。
`
# shows multiplication table of a number upto that number
import time
while True:
num = input("Enter number: ")
def mult():
try:
for i in range(1, int(num)+1):
print(str(i) + " x " + num + " = " + str(i * int(num)))
except ValueError:
print("Please enter a number")
continue
mult()
time.sleep(2)`
這應該有效,另外請注意,如果你想在你的函數中輸入一個值,應該這樣做:def mult(data)
調用:mult('數據')
添加回答
舉報