کسی اینجا پایتون بلده برای این کد کمک کنه؟

teraktor2003

کاربر تازه وارد
تازه وارد
سلام
یه اموزش انلاین دارم دقیقا همین کد های زیر رو می زنه و منم می زنم ولی جواب من درست نیس!!!

کد:
p=[0.2, 0.2, 0.2, 0.2, 0.2]             
world=['green' , 'red' , 'red' , 'green' , 'green']
Z = 'red'
pHit=0.6
pMiss=0.2

def sense(p, Z):        
q=[]   
for i in range(len(p)):
hit = (Z == world[i])
q.append(p[i] * (hit * pHit + (1-hit) * pMiss))
return q
print sense(p, Z)
جواب باید یه بردار باشه با اعداد [0.04,0.12,0.12,0.04,0.04]
اما بیشتر اوقات خطا می ده گاهی هم جواب رو فقط [0.04] می زنه!!!!
در حالت کلی این کد باید برای red ها 0.2*0.6 کنه و برای green ها 0.2*0.2

4 ساعته رو همین هنگم دارم دیوونه می شم
ممنون می شم کمکی کنید.
 

moslem.gh

کاربر تازه وارد
تازه وارد
سلام
یه اموزش انلاین دارم دقیقا همین کد های زیر رو می زنه و منم می زنم ولی جواب من درست نیس!!!

کد:
p=[0.2, 0.2, 0.2, 0.2, 0.2]             
world=['green' , 'red' , 'red' , 'green' , 'green']
Z = 'red'
pHit=0.6
pMiss=0.2

def sense(p, Z):        
q=[]   
for i in range(len(p)):
hit = (Z == world[i])
q.append(p[i] * (hit * pHit + (1-hit) * pMiss))
return q
print sense(p, Z)
جواب باید یه بردار باشه با اعداد [0.04,0.12,0.12,0.04,0.04]
اما بیشتر اوقات خطا می ده گاهی هم جواب رو فقط [0.04] می زنه!!!!
در حالت کلی این کد باید برای red ها 0.2*0.6 کنه و برای green ها 0.2*0.2

4 ساعته رو همین هنگم دارم دیوونه می شم
ممنون می شم کمکی کنید.
من فکر کنم حلقه for مشکل داره و احتمالا تمام دستوراتت در حلقه for قرار نداره و فقط مقدار آخر آرایه رو در z قرار می ده
یه کم در فرو رفتگیهای برنامه و اسکوپ حلقه for دقت کن شاید مشکلت حل بشه

Sent from my Nokia_X using Tapatalk
 
بالا