PDA

View Full Version : مبتدی: مشکل تقسیم در پایتون بعد از کامپایل فایل



mhf693
شنبه 13 مهر 1392, 12:04 عصر
فایلی با محتوای


print(5/4)

رو با دستور


cython3 --embed test.pyx

به فایل test.c تبدیل کرده بعد اون رو چه با پایتون ۳ یعنی


gcc $CFLAGS -I/usr/include/python3.3m -o test test.c -lpython3.3m -lpthread -lm -lutil -ldl
و چه پایتون ۲ یعنی


gcc $CFLAGS -I/usr/include/python2.7 -o test test.c -lpython2.7 -lpthread -lm -lutil -ldl
کامپایل می کنم عدد 1 رو به عنوان خروجی بر می گردونه . در حالی که اگه همون رو به یکی از دو شکل زیر تغییر بدم برای پایتون ۳ 1.25 و برای پایتون ۲ عدد 1 رو برمیگردونه.




print((int)5/(int)4)
#or
a=5
b=4

print(a/b)


مشکل چی می تونه باشه. سیستم عامل هم فدوراست.
در حالی که فایل اصلی که test.py هست رو وقتی اجرا می کنم برای پایتون۳ 1.25 و برا پایتون۲ عدد 1 رو برمی گردونه

n.nowroozi
شنبه 13 مهر 1392, 15:58 عصر
خروجی واسه پایتون ۲ که باید همون یک رو برگردونه چون باقیمانده به شکل عدد صحیح رو این دستور برمیگردونه حالا من پایتون ۳ کار نکردم نمیدونم شاید توی اون تغییراتی دادند.

mhf693
شنبه 13 مهر 1392, 16:48 عصر
من خودم پایتون رو با ورژن سه شروع کردم تو سه فرق کرده تقسیم اعشاری برمی گردونه. یعنی برا ۳ باید 1.25 برمی گردوند.