مثال 48 پایتون – برنامه ای به پایتون بنویسید که رشته ای حاوی عدد را به float یا integer تبدیل کند
کد برنامه
1 2 3 |
n = "511.265" print(float(n)) print(int(float(n))) |
توضیح کد
این کد پایتون یک رشته به نام “n” را دارد که مقدار “511.265” را در خود دارد. سپس دو عملیات روی این رشته انجام میدهد:
float(n)
:
- این عبارت
n
را به عنوان یک رشته میخواند و آن را به عدد اعشاری (floating-point number) تبدیل میکند. - در این مورد، رشته “511.265” به عدد اعشاری 511.265 تبدیل میشود.
- سپس این عدد اعشاری به وسیله
print
نمایش داده میشود.
int(float(n))
:
- ابتدا، عبارت
float(n)
اجرا میشود و عدد اعشاری 511.265 تولید میشود. - سپس با استفاده از
int()
، این عدد اعشاری به عدد صحیح تبدیل میشود. این تبدیل کردن به عدد صحیح باعث حذف قسمت اعشاری میشود و فقط بخش صحیح عدد باقی میماند. - در این مورد، عدد اعشاری 511.265 به عدد صحیح 511 تبدیل میشود.
- سپس این عدد صحیح به وسیله
print
نمایش داده میشود.
خروجی این کد به صورت زیر خواهد بود:
1 2 |
511.265 511 |
در نتیجه، ابتدا عدد اعشاری نمایش داده میشود و سپس بخش صحیح آن به صورت عدد صحیح نمایش داده میشود.
کد راه دوم و جامع تر
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# Input a string input_str = input("Enter a number as a string: ") try: # Try to parse the string as a float number = float(input_str) # Try to parse the string as a float number2 = int(number) # Print the result print("Float number:", number) print("Int number:", number2) except ValueError: print("Invalid input. Please enter a valid number as a string.") |
توضیح کد راه حل دوم
این کد پایتون از کاربر یک رشته به عنوان ورودی دریافت میکند و سپس تلاش میکند تا این رشته را به عدد اعشاری (floating-point number) و سپس به عدد صحیح (integer) تبدیل کند. سپس نتیجه را چاپ میکند. این کد عبارات try
و except
را برای مدیریت خطاها استفاده میکند.
- در ابتدا، از کاربر خواسته میشود تا یک رشته را وارد کند.
- سپس با استفاده از عبارت
try
، این کد سعی میکند عدد وارد شده را به عدد اعشاری تبدیل کند. این کار با استفاده ازfloat(input_str)
انجام می شود. - سپس با عبور از مرحله بالا، سعی میشود عدد اعشاری را به عدد صحیح تبدیل کند. این کار با استفاده از
int(number)
انجام می شود. - اگر موفق به تبدیل رشته به عدد اعشاری و سپس به عدد صحیح شود، این دو عدد چاپ میشوند و نتیجه به کاربر نمایش داده میشود.
- اگر تبدیل موفقیتآمیز نباشد (به علت ورودی نامعتبر کاربر)، یک خطای
ValueError
رخ میدهد و پیام “Invalid input. Please enter a valid number as a string.” چاپ میشود تا به کاربر اطلاع داده شود که ورودی نامعتبر بوده است.
اگر ورودی معتبر باشد، خروجی به شکل زیر است:
1 2 3 |
Enter a number as a string: 123.45 Float number: 123.45 Int number: 123 |
یا در صورت ورودی نامعتبر:
1 2 |
Enter a number as a string: hello Invalid input. Please enter a valid number as a string. |
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)