嗨,我有問題說:
PS C:\Users\root\Documents\lpthw> python .\ex3.1.py
Podaj d?ugo??: 5
Który bok: przypdl, przypkr, przec: przec
Traceback (most recent call last):
File "C:\Users\root\Documents\lpthw\ex3.1.py", line 22, in <module>
find(dl)
File "C:\Users\root\Documents\lpthw\ex3.1.py", line 13, in find
przypkr=x/2
TypeError: unsupported operand type(s) for /: 'str' and 'int'
我的代碼:
import math
a=0
b=0
x=0
c="abc"
przypdl=0
przypkr=0
przec=0
dl=input("Podaj d?ugo??: ")
def find(x):
c=input("Który bok: przypdl, przypkr, przec: ")
if c=="przec":
przypkr=x/2
przypdl=przypkr*math.sqrt(3)
elif c=="przypkr":
przypdl=x*math.sqrt(3)
przec=x*2
else:
przypkr=x/math.sqrt(3)
przec=przypkr*2
print(f'przeciwprostok?tna: {przec}, krótsza przyprostok?tna: {przypkr}, d?u?sza przyprostok?tna: {przypdl}')
find(dl)
我從編碼開始,所以這將非常有幫助,謝謝! 我的代碼的目的是計算三角形的邊長。
uj5u.com熱心網友回復:
你得到的輸入是一個字串。您必須先將其轉換為 int。
dl=int(input("Podaj d?ugo??: "))
您還必須使 przypkr、przec 和 przypdl 成為全域變數,因為您要在函式中參考這些變數。在函式的開頭添加這三行應該可以解決這個問題。
global przypkr
global przec
global przypdl
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/367305.html
上一篇:單一輸入中的數學運算
