ماشین حساب ساده
-
سلام. من میخوام یک ماشین حساب ساده در پایتون بسازم. برای این کار از ضرب دو عدد شروع کردم. کدم رو به صورت زیر نوشتم:
def test(num): return lambda n : num * n x = test(input('adad aval: ')) print(x(input('adad dovom: ')))
ولی با ارور زیر مواجه شدم
TypeError: can't multiply sequence by non-int of type 'str'
همون طور که میبینید میگه که نمیشه دوتا رشته رو ضرب کرد. سوالم اینه که مشکلم رو چطور حل کنم؟
-
سلام
چون هر دو متغیر n و num شما از نوع string هستند.
شما بدید نوع num رو به int تغییر بدید تا مشکل تون برطرف بشه:def test(num): num = int(num) return lambda n: num * n x = test(input('adad aval: ')) print(x(input('adad dovom: ')))
مثال هم:
adad aval: 5 adad dovom: hi hihihihihi
-
@سعید-فضل-اله-زاده ممنون. میشود n رو هم به int تبدیل کرد؟
-
اینطور نوشتم و درست شد. شما استفاده از این روش رو مناسب میدونید؟
def test(num): return lambda n : num * n x = test(int(input('adad aval: '))) print(x(int(input('adad dovom: '))))
-
سلام
به این شکل می تونید اصلاح کنید:def test(num): return lambda n: num * n x = test(int(input('adad aval: '))) print(x(input('adad dovom: ')))
شما عدد دوم رو هم دارید تبدیل به int می کنید و اگر ورودی دوم رو کسی string وارد کنه خطا دریافت می کنه. می تونید خودتون هم تست کنید و ورودی دوم رو حرف بگذارید.
-
@سعید-فضل-اله-زاده واقعا ممنون
-
خواهش می کنم.
تاپیک بسته شد. -