所以我需要撰寫一個程式來請求一個從 1 到 10 的整數并計算它的倒數。
while True:
try:
integer = int(input("Enter an integer between 1 to 10 "))
parameter = integer in range(1,10)
equation = 1/integer
print(equation)
break
except ValueError:
print("not int")
uj5u.com熱心網友回復:
您可以使用assert來檢查數字是否在 1 和 10 的范圍內。另外,在我看來,您不應該使用break,因為您想永遠獲得整數。:
while True:
try:
integer = int(input("Enter an integer between 1 to 10 "))
parameter = integer in range(1,10)
assert parameter # asserts the condition and checks if its True or False
equation = 1/integer
print(equation)
except ValueError:
print("not int")
except AssertionError: # if assertion is False then an AssertionError is raised
print("not between 1-10")
輸出:
Enter an integer between 1 to 10 12
not between 1-10
Enter an integer between 1 to 10 2
0.5
Enter an integer between 1 to 10 val
not int
uj5u.com熱心網友回復:
假設 OP 不考慮 try/except 違反不使用任何“條件結構”的要求,那么:
try:
integer = int(input("Enter an integer between 1 to 10: "))
1 / (integer in range(1, 11))
print(1 / integer)
except (ValueError, ZeroDivisionError):
print('Input not an integer in specified range')
uj5u.com熱心網友回復:
由于 bool 值是整數這一事實:
>>> a = -1
>>> a = (0, a)[a in range(1, 11)]
>>> try:
... print(1 / a)
... except ZeroDivisionError:
... print('not in 1 to 10')
...
not in 1 to 10
所以你的問題可以解決如下:
while True:
try:
integer = int(input("Enter an integer between 1 to 10 "))
integer = (0, integer)[integer in range(1, 11)]
print(1 / integer)
except ValueError:
print("not int")
except ZeroDivisionError:
print("not between 1 to 10")
uj5u.com熱心網友回復:
你真的很親近!唯一要改變的是輸出的格式,試試這樣的:
while True:
try:
integer = int(input("Enter an integer between 1 to 10 "))
parameter = integer in range(1, 10)
equation = 1 / integer
print("The reciprocal of " str(integer) " is 1/" str(integer) " or " str(1/integer))
break
except ValueError:
print("Not an integer, please try again.")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/474984.html
上一篇:如何使用if-else陳述句在phpforeach中獲取物件json?
下一篇:ifisset函式變數引數php
