float w[100]; main3() (int n; float s; print("How much weight?"); input(s); print("How mang units goods?"); input(n); for(i=1;i<=n;i=i+1) input(w[i]);if(Knap3(s,n)= false)print("Non solution"); Knap3(float s,int n){if(s=0) //数组 w[n]为全局量 return(true);else if((s<0)or(s>0andn<1))return(false);else if(Knap3(s-w[n],n-1)= true){print("choose",w[n]);return(true);) else return(Knap3(s,n-1));转换成python语言的代码
时间: 2024-02-02 17:03:58 浏览: 58
Keil MDK-ARM各种数据类型占用的字节数 char short int float double
5星 · 资源好评率100%
下面是将该代码转换成 Python 语言的代码:
```
w = [0] * 100
def Knap3(s, n):
global w
if s == 0:
return True
elif s < 0 or (s > 0 and n < 1):
return False
elif Knap3(s - w[n], n - 1):
print("choose", w[n])
return True
else:
return Knap3(s, n - 1)
def main3():
global w
n = int(input("How many units goods? "))
s = float(input("How much weight? "))
for i in range(1, n + 1):
w[i] = float(input())
if not Knap3(s, n):
print("No solution")
main3()
```
注意,在 Python 中需要使用 `global` 关键字声明使用全局变量 w。另外,Python 的输入函数是 input(),而不是 print()。
阅读全文