提问人:Centing 提问时间:9/24/2023 更新时间:9/25/2023 访问量:58
我收到这个错误 int() 参数必须是一个字符串、一个类似字节的对象或一个实数,而不是“set”
I am getting this error int() argument must be a string, a bytes-like object or a real number, not 'set'
问:
为什么我收到这个错误我正在创建一个三角形
int() argument must be a string, a bytes-like object or a real number, not 'set'
代码片段:
a, b, c = input().split()
print(f'A : {a}, B : {b}, C : {c}')
sisi_terpanjang = {a}
sisi_pertama = {b}
sisi_kedua = {c}
if int(sisi_terpanjang)**2 == int(sisi_pertama)**2 + int(sisi_kedua)**2:
print("segitiga siku-siku")
if int(sisi_terpanjang)**2 < int(sisi_pertama)**2 + int(sisi_kedua)**2:
print("segitiga lancip")
if int(sisi_terpanjang)**2 > int(sisi_pertama)**2 + int(sisi_kedua)**2:
print("segitiga tumpul")
和单元格中的错误:
if int(sisi_terpanjang)**2 == int(sisi_pertama)**2 + int(sisi_kedua)**2:
答:
2赞
Soner from The Ottoman Empire
9/24/2023
#1
{}
定义一个列表。只需删除它们并使用例如
sisi_terpanjang = a
sisi_pertama = b
sisi_kedua = c
评论
0赞
Tim Roberts
9/25/2023
更好的是,请避免一遍又一遍地进行转换。sisi_terpanjang = int(a)
0赞
Soner from The Ottoman Empire
9/25/2023
@TimRoberts,是的,但我不知道他是如何编写代码的。
1赞
User12345
9/24/2023
#2
您遇到的错误是因为您尝试使用 将 sets/list 转换为整数,这是无效的。你可以像这样简单地设置为 int。以下是修改后的代码:{}
int()
sisi_xxx
a, b, c = input().split()
print(f'A : {a}, B : {b}, C : {c}')
sisi_terpanjang = int(a)
sisi_pertama = int(b)
sisi_kedua = int(c)
if sisi_terpanjang**2 == sisi_pertama**2 + sisi_kedua**2:
print("segitiga siku-siku")
if sisi_terpanjang**2 < sisi_pertama**2 + sisi_kedua**2:
print("segitiga lancip")
if sisi_terpanjang**2 > sisi_pertama**2 + sisi_kedua**2:
print("segitiga tumpul")
评论
0赞
Centing
9/24/2023
啊,终于成功了,谢谢你的回答
上一个:MCAR 测试警告:通过强制引入的 NA 到整数范围
下一个:速度和旋转问题
评论
sisi_pertama = {b}
是的,这是一套。你为什么要打电话给一个场景?int()