পাইথনে আপনি কীভাবে কোনও সংখ্যার গোল করবেন?


486

এই সমস্যা আমাকে হত্যা করছে। পাইথনের এক নম্বর ইউপি কীভাবে কাজ করে?

আমি রাউন্ড (সংখ্যা) চেষ্টা করেছিলাম তবে এটি সংখ্যাটি নীচে পেয়ে যায়। উদাহরণ:

round(2.3) = 2.0 and not 3, what I would like

আমি ইনটি (সংখ্যা + .5) চেষ্টা করেছিলাম তবে এটি আবার সংখ্যাটি গোল করে! উদাহরণ:

int(2.3 + .5) = 2

তারপরে আমি রাউন্ডটি চেষ্টা করেছি (সংখ্যা + .5) তবে এটি প্রান্তের ক্ষেত্রে কার্যকর হবে না। উদাহরণ:

WAIT! THIS WORKED!

দয়া করে উপদেশ দাও.


4
round(number + .5)সংখ্যাটি পূর্ণসংখ্যা হলে কাজ করে না। round(3+.5) == 4, আপনি যখন আসলে চান 3
Nearoo

উত্তর:


844

ছাদের নিচের পিঠ নির্মাণ (সিলিং) ফাংশন:

import math
print(math.ceil(4.2))

21
সম্প্রসারণ: গণিত.সিলটি সবচেয়ে ছোট পূর্ণসংখ্যা দেয় যা ইনপুট মানের থেকে বড় বা সমান। এই ফাংশনটি ইনপুটটিকে একটি ফ্লোট হিসাবে বিবেচনা করে (পাইথনের দৃ strongly়-টাইপযুক্ত ভেরিয়েবলগুলি নেই) এবং ফাংশনটি একটি ফ্ল্যাট দেয়। আপনি যদি কোন int(math.ceil(363))
ইন্টি

9
@Sinnet: বাস্তবিক কেউ বলতে পারে যে পাইথন শক্তিশালী ভাবে টাইপ করা হয় stackoverflow.com/a/11328980/5069869
বের্নহার্ট

1
@TheEspinosa: হ্যাঁ, পাইথন স্পষ্টভাবে হয় জোরালোভাবে টাইপ করা, তার ঠিক যে অনেক ফাংশন কিছু প্যারামিটার ধরণ সম্পর্কে প্রশ্ন জিজ্ঞাসা ও উত্তর উপর নির্ভর করে বিভিন্ন কোড এক্সিকিউট।
কুমারানা

12
পাইথন 3-এ @RWSinnet math.ceil, পূর্ণসংখ্যার মান সহ ভাসমান অবজেক্টকে নয়, একটি আসল পূর্ণসংখ্যার বস্তু প্রদান করে।
আর্থার টাক্কা

ভাসমান নির্ভুলতার যত্ন নিন, 10000000 * 0.00136 = 13600.000000000002math.ceil(10000000 * 0.00136) = 13601.0
সিলের

170

আমি জানি এই উত্তরটি কিছুক্ষণ আগে থেকেই একটি প্রশ্নের জন্য, তবে আপনি যদি গণিত আমদানি করতে না চান এবং আপনি কেবল গোল করতে চান তবে এটি আমার পক্ষে কাজ করে।

>>> int(21 / 5)
4
>>> int(21 / 5) + (21 % 5 > 0)
5

প্রথম অংশটি 4 হয়ে যায় এবং দ্বিতীয় অংশটি যদি "বাকী" থাকে তবে "সত্য" এর মূল্যায়ন করে, যা অতিরিক্ত সত্য = 1; মিথ্যা = 0. সুতরাং যদি কোনও অবশিষ্ট নেই, তবে এটি একই সংখ্যায় থেকে যায়, তবে যদি বাকীটি থাকে তবে এটি 1 যুক্ত করে।


38
খুশী হলাম। আপনি //পূর্ণসংখ্যা বিভাগের জন্যও ব্যবহার করতে পারেন , তাই এটি হয়ে যায় 21 // 5 + (21 % 5 > 0)
nnot101

6
শুধুমাত্র পূর্ণসংখ্যার সাথে জড়িত থাকলে এটিই সেরা সমাধান। কোন অপ্রয়োজনীয় floatএস। খুশী হলাম।
নিকো শ্ল্যামার

158

মনে রাখবেন আকর্ষণীয় পাইথন ২.x সমস্যা:

>>> import math
>>> math.ceil(4500/1000)
4.0
>>> math.ceil(4500/1000.0)
5.0

সমস্যাটি হচ্ছে অজগরটিতে দুটি ইন্ট বিভাজক করা অন্য একটি প্রসারণ তৈরি করে যা সিলিং কলের আগেই কেটে গেছে। সঠিক ফলাফল পেতে আপনাকে একটি মানকে একটি ফ্লোট (বা কাস্ট) তৈরি করতে হবে।

জাভাস্ক্রিপ্টে, ঠিক একই কোডটি একটি পৃথক ফলাফল তৈরি করে:

console.log(Math.ceil(4500/1000));
5

44
ইন পাইথন 2.x : int- এ / int- এ -> int- এ এবং int- এ / ভাসা -> ভাসা সালে পাইথন 3.x : int- এ / int- এ একটি float হতে পারে
gecco


110

যদি পূর্ণসংখ্যার সাথে কাজ করা হয় তবে রাউন্ড আপের একটি উপায় হ'ল //রাউন্ড ডাউন হওয়ার সত্যতাটি গ্রহণ করা: কেবলমাত্র নেতিবাচক সংখ্যায় বিভাজন করুন, তারপরে উত্তরটিকে প্রত্যাখ্যান করুন। কোনও আমদানি, ভাসমান পয়েন্ট বা শর্তসাপেক্ষের প্রয়োজন নেই।

rounded_up = -(-numerator // denominator)

উদাহরণ স্বরূপ:

>>> print(-(-101 // 5))
21

1
আপনার যখন কোনও গণিত অপারেশন করার দরকার নেই তখন কী করবেন? অর্থাৎ আপনার সবেমাত্র একটি নম্বর আছে।
ক্লিক

2
@ ক্লিক: তারপরে আপনি কেবল 1 ==> - (-নম // 1) দ্বারা ভাগ করতে পারেন এবং আপনি আপনার উত্তরটি পেয়ে যাচ্ছেন :-) একটি সুন্দর দিন দিন! ডেভিড বাউ: খুব সুন্দর প্রস্তাব!
মার্কো এসএমডিএম

10
আমি এখানে সমস্ত উত্তর টাইম করেছিলাম এবং এটি পরবর্তী সেরা (গণিত.সিল) এর চেয়ে পাঁচগুণ দ্রুত ছিল।
@ আন্ড্রেয়াসের

@ এমনিটোটেন্ট এটি আশ্চর্যজনক নয় যেহেতু এটি সহজ পূর্ণসংখ্যার বিভাগ এবং একক-চক্রের কয়েকটি কাজ। এটি এমন একটি উত্তর যা আপনাকে একটি চাকরি দেয়: কেবল ভাষা নয়, এর নীচে বিমূর্ততার সমস্ত স্তর tanding
Nearoo

নিস! আমি সর্বদা ব্যবহার করেছি (num + den - 1) // den, যা intইতিবাচক ডিনোমিনেটরগুলির সাথে ইনপুটগুলির জন্য সূক্ষ্ম , তবে যদি কোনও একক অ-অবিচ্ছেদ্য floatজড়িত হয় তবে ( ব্যর্থ হয় বা ডিনোমিনেটর) ব্যর্থ হয়; এটি আরও মায়াবী চেহারা, তবে intগুলি এবং floatগুলি উভয়ের জন্যই কাজ করে । ছোট অংকগুলির জন্য এটি আরও দ্রুত (সিপিথন ৩..2.২ তে), যদিও বিস্ময়করভাবে, যখন কেবলমাত্র অঙ্কটি যথেষ্ট পরিমাণে বড় হয় যে অ্যারে ভিত্তিক গণিতের প্রয়োজন হয়, আপনার পদ্ধতির ধীর গতি হয়; কেন এটি স্পষ্ট নয়, যেহেতু বিভাগের কাজ একই রকম হওয়া উচিত এবং দুটি অবিচ্ছিন্ন অবহেলা যোগ + বিয়োগের চেয়ে কম হওয়া উচিত।
শ্যাডোর্যাঙ্গার ই আগস্ট'১19:

56

আপনি ন্যাপি পছন্দ করতে পারেন:

>>> import numpy as np
>>> np.ceil(2.3)
3.0

আমি এটি গণিতের চেয়ে ভাল বলছি না তবে আপনি যদি ইতিমধ্যে অন্য উদ্দেশ্যে অদ্ভুত ব্যবহার করে থাকেন তবে আপনি আপনার কোডটি ধারাবাহিক রাখতে পারেন।

যাইহোক, কেবল একটি বিশদ আমি এসেছি। আমি অদ্ভুত অনেক ব্যবহার করি এবং অবাক হয়ে গিয়েছিলাম যে এটির উল্লেখ করা হয়নি, তবে অবশ্যই গৃহীত উত্তরটি পুরোপুরি সূক্ষ্মভাবে কাজ করে।


3
নম্পটি ব্যবহার করাও দুর্দান্ত। গণিতের সাথে সবচেয়ে সহজ হবে যেহেতু এটি ইতিমধ্যে গ্রন্থাগারে নির্মিত অজগরটির একটি অংশ। এটি আরও বোধগম্য হয়। পরিবর্তে আপনি উল্লিখিত হিসাবে যদি আপনি অন্যান্য সমস্যার জন্য প্রচুর নম্র ব্যবহার করেন, তবে এটি numpy.ceil :-) ব্যবহারের জন্য বোধগম্য এবং সামঞ্জস্যপূর্ণ!
মার্কো এসএমডিএম

30

math.ceilগোল করার জন্য ব্যবহার করুন :

>>> import math
>>> math.ceil(5.4)
6.0

দ্রষ্টব্য : ইনপুটটি ভাসমান হওয়া উচিত।

আপনার যদি কোনও পূর্ণসংখ্যার প্রয়োজন intহয় তবে এটিকে রূপান্তর করতে কল করুন :

>>> int(math.ceil(5.4))
6

বিটিডাব্লু, নিকটতম পূর্ণসংখ্যার বৃত্তাকারে math.floorগোল করতে এবং ব্যবহার করতে round

>>> math.floor(4.4), math.floor(4.5), math.floor(5.4), math.floor(5.5)
(4.0, 4.0, 5.0, 5.0)
>>> round(4.4), round(4.5), round(5.4), round(5.5)
(4.0, 5.0, 5.0, 6.0)
>>> math.ceil(4.4), math.ceil(4.5), math.ceil(5.4), math.ceil(5.5)
(5.0, 5.0, 6.0, 6.0)

1
পাইথন 3 ব্যবহার করে ceil()
ইনপুটটি অবিবাহিত

12

সিনট্যাক্সটি পাইথোনিকের মতো নাও লাগতে পারে তবে এটি একটি শক্তিশালী পাঠাগার powerful

https://docs.python.org/2/library/decimal.html

from decimal import *
print(int(Decimal(2.3).quantize(Decimal('1.'), rounding=ROUND_UP)))

11

আমি অবাক হই কেউই পরামর্শ দেয়নি

(numerator + denominator - 1) // denominator

রাউন্ড আপ সহ পূর্ণসংখ্যা বিভাগের জন্য। সি / সি ++ / সিইউডিএ (সিএফ। divup) এর সাধারণ উপায় হিসাবে ব্যবহৃত হত


2
শুধুমাত্র স্ট্যাটিকালি টাইপ করা ভাষার জন্য প্রাসঙ্গিক। ডিনোমিনেটর যদি ভাসমান হয় তবে আপনি মারা গেছেন।
ভরলে

ডিনোমিনিটারটি ইতিবাচক হলে এটি কেবল ধারাবাহিকভাবে কাজ করে; ডিনোমিনিটরটি যদি নেতিবাচক হয় তবে আপনাকে 1এটি বিয়োগের পরিবর্তে যুক্ত করতে হবে বা গণিতটি সম্পাদন করার আগে অংক এবং ডিনোমিনেটর উভয়ের চিহ্নগুলি ফ্লিপ করতে হবে।
শ্যাডোএ্যাঞ্জার

7

শিউর হতে হবে বৃত্তাকার মান ভাসা হওয়া উচিত

a = 8 
b = 21
print math.ceil(a / b)
>>> 0

কিন্তু

print math.ceil(float(a) / b)
>>> 1.0

6

এটা চেষ্টা কর:

a = 211.0
print(int(a) + ((int(a) - a) != 0))

1
চালাক। ((int(a) - a) != 0)অভিব্যক্তি আয় 1যখনই aপ্রয়োজন বৃত্তাকার আপ করতে হবে। আপনি নিজের উত্তরটি প্রসারিত করতে এবং এটি কীভাবে কাজ করে তা ব্যাখ্যা করতে চাইতে পারেন।
টম

@ টমআরান্ডা কেউ কী ব্যাখ্যা করতে পারেন যে কীভাবে কোনও বুলিয়ান এক্সপ্রেশন মূল্যকে মূল্যায়ণ করে?
বোভেন লিউ

6
>>> def roundup(number):
...     return round(number+.5)
>>> roundup(2.3)
3
>>> roundup(19.00000000001)
20

এই ফাংশনটির কোনও মডিউল নেই।


যদি আপনার নম্বরটি কী হয় 3তবে তা কেটে যাবে 4যেটি কারও চাওয়ার হতে পারে বা নাও পারে
কোনওটির পরিমাণে পৌঁছাতে buyدادip

15
এটি কেবলমাত্র 99% ক্ষেত্রেই কাজ করে। আপনি এটি সঠিকভাবে মাধ্যমে ভাবেন নি। এই জাতীয় সমাধানগুলি কোনও মূল্যে এড়ানো উচিত।
Nearoo

সুতরাং +5 এর পরিবর্তে + .49999999 আমার পক্ষে যথেষ্ট ভাল।
ফ্লাইংজেব্রা 1

5

উপরের উত্তরগুলি সঠিক, তবে mathকেবলমাত্র এই একটি ফাংশনের জন্য মডিউলটি আমদানি করা আমার কাছে সাধারণত ওভারকিলের মতো মনে হয়। ভাগ্যক্রমে, এটি করার আরও একটি উপায় রয়েছে:

g = 7/5
g = int(g) + (not g.is_integer())

Trueএবং অজগর সংখ্যার জড়িত Falseহিসাবে 1এবং হিসাবে 0একটি বিবৃতি ব্যাখ্যা করা হয় । g.is_interger()মূলত অনুবাদg.has_no_decimal() বা g == int(g)। সুতরাং ইংরেজিতে শেষ বিবৃতিটি পড়ে round g down and add one if g has decimal


1
এবং যদি আপনি অভিনব অনুভব করেন, আপনি int(g) + (g % 1 > 0)পরিবর্তে ব্যবহার করতে পারেন ;-)
নিকটস্থ

from math import ceilপুরো গণিত মডিউলটি আমদানি করা ঠিক হয়েছে বলে মনে হচ্ছে :)
SH7890

@ SH7890 আমি আশঙ্কা করছি যে import mathপর্দার আড়ালে কী ঘটে তার দিক থেকে এই লাইনটি খুব বেশি আলাদা নয় । এটি ব্যতীত সমস্ত চিহ্ন বাদ দেয় ceil
Nearoo

5

গণিত আমদানি না করে // মৌলিক কল্পনা ব্যবহার করে:

ক) পদ্ধতি / শ্রেণি পদ্ধতি

def ceil(fl): 
  return int(fl) + (1 if fl-int(fl) else 0)

def ceil(self, fl): 
  return int(fl) + (1 if fl-int(fl) else 0)

খ) ল্যাম্বদা:

ceil = lambda fl:int(fl)+(1 if fl-int(fl) else 0)

5

যারা গোল হয়ে যেতে চান তাদের জন্য a / b এবং পূর্ণসংখ্যা পেতে :

পূর্ণসংখ্যা বিভাগটি ব্যবহার করে অন্য একটি রূপ

def int_ceil(a, b):
    return (a - 1) // b + 1

>>> int_ceil(19, 5)
4
>>> int_ceil(20, 5)
4
>>> int_ceil(21, 5)
5

3

যদি কেউ নির্দিষ্ট দশমিক জায়গায় পৌঁছানোর চেষ্টা করে থাকে:

import math
def round_up(n, decimals=0):
    multiplier = 10 ** decimals
    return math.ceil(n * multiplier) / multiplier

1

আমি অবাক হয়েছি আমি এই উত্তরটি এখনও দেখিনি round(x + 0.4999), তাই আমি এটি নীচে রেখে যাচ্ছি। নোট করুন যে এটি যে কোনও পাইথন সংস্করণে কাজ করে। পাইথন রাউন্ডিং স্কিমের পরিবর্তনগুলি জিনিসগুলিকে কঠিন করে তুলেছে। এই পোস্টটি দেখুন ।

আমদানি না করে, আমি ব্যবহার করি:

def roundUp(num):
    return round(num + 0.49)

testCases = list(x*0.1 for x in range(0, 50))

print(testCases)
for test in testCases:
    print("{:5.2f}  -> {:5.2f}".format(test, roundUp(test)))

কেন এই কাজ করে

ডক্স থেকে

রাউন্ড () সমর্থনকারী অন্তর্নির্মিত ধরণের জন্য, মানগুলি বিদ্যুৎ বিয়োগের 10 এর নিকটতম একাধিকের সাথে বৃত্তাকার হয়; যদি দুটি গুণগুলি সমানভাবে কাছাকাছি হয় তবে রাউন্ডিংটি সমান পছন্দের দিকে করা হয়

অতএব 2.5 কে 2 এবং 3.5 এর সাথে বৃত্তাকার 4 হয়ে যায় this সুতরাং, আপনি যদি 0.4999 যোগ করেন তবে আপনি কাছাকাছি আসবেন, তবে পর্যাপ্ত মার্জিনের সাথে আপনি সাধারণত যা আশা করবেন তার সাথে গোল করা হবে। অবশ্যই, এটির x + 0.4999সমান হলে এটি ব্যর্থ হবে [n].5000, তবে এর সম্ভাবনা কম।


2
০.৪৯৯৯৯ ব্যবহার করে, এটি ঠিক ???? 0001 নয়, ???? 0000 এবং ???.0001 (খোলা ব্যবধান) এর মধ্যে কোনও ইনপুটের জন্য সঠিক ফলাফল দিতে ব্যর্থ হবে। উদাহরণস্বরূপ, আপনি যদি 3.00005 দিয়ে চেষ্টা করেন, আপনি প্রত্যাশিত 4 এর পরিবর্তে 3 ফলাফল পাবেন 4 অবশ্যই আপনি ভাসমান সর্বাধিক নির্ভুলতার সাথে আরও বেশি সংখ্যার যোগ করে এই ঘটনার সম্ভাবনা হ্রাস করতে পারেন, তবে এটি কী যদি এখানে আরও দৃ int় এবং স্বজ্ঞাত সমাধান রয়েছে তবে ব্যবহারের মতো math.ceil()?
blubberdiblub

@ ব্লুবার্ডিব্লুব আমার উত্তরে আমি উল্লেখ করছি Without importing I use:। আমি আরও উল্লেখ করেছি যে এটির x + 0.4999সমান হলে এটি ব্যর্থ হবে [n].5000
ক্লিক

4
হ্যাঁ, আপনি আপনার উত্তরে বলেছিলেন যে আপনার সমাধানটি আমদানি না করেই হয়, তবে আমি এর মান দেখতে পাচ্ছি না। mathমডিউল এবং math.ceil(), তাই প্রাপ্তিসাধ্য সর্বত্র অতিরিক্ত কাপড় ইনস্টল ছাড়াই সব ব্যবহারিক উদ্দেশ্যে মান লাইব্রেরিতে রয়েছে। এবং এটি ব্যর্থ হওয়ার বিষয়ে আপনার উল্লেখ সম্পর্কিত, এটি আপনার উত্তরে অসম্পূর্ণ, কারণ এটি কেবলমাত্র একটি পয়েন্টের জন্য নয়, পুরো ব্যবধানে ব্যর্থ। প্রযুক্তিগতভাবে, আপনি যুক্তি দিতে পারেন যে আপনি সঠিক, যদি আপনি বলেন এবং যদি ইফফ না , তবে এটি নৈমিত্তিক পাঠকের উপর ধারণা তৈরি করবে যে এটি সত্যিকারের চেয়ে কম সম্ভাবনা রয়েছে।
blubberdiblub

0

কোনও আমদানি ছাড়াই এটি করতে:

>>> round_up = lambda num: int(num + 1) if int(num) != num else int(num)
>>> round_up(2.0)
2
>>> round_up(2.1)
3

0

আমি জানি এটি বেশ কিছুক্ষণ আগে থেকেই ছিল, তবে আমি একটি বেশ আকর্ষণীয় উত্তর পেয়েছি, তাই এখানে চলে গেছে:

-round(-x-0.5)

এটি প্রান্তগুলির কেসগুলি ঠিক করে এবং ধনাত্মক এবং নেতিবাচক উভয় সংখ্যার জন্য কাজ করে এবং কোনও ফাংশন আমদানির প্রয়োজন হয় না

চিয়ার্স


2
এটি এখনও -round(-x-0.3) = x
চতুর্দিকে

0

আপনি যখন পাইথনে 4500/1000 পরিচালনা করেন, ফলাফল 4 হবে কারণ ডিফল্ট পাইথন অ্যাসিউমের জন্য পূর্ণসংখ্যার হিসাবে ফলাফলটি যৌক্তিকভাবে: 4500/1000 = 4.5 -> int (4.5) = 4 এবং 4 এর সিলটি অবশ্যই 4

4500 / 1000.0 ব্যবহার করে ফলাফলটি 4.5 এবং সিলের 4.5 -> 5 এর ফলাফল হবে

জাভাস্ক্রিপ্ট ব্যবহার করে আপনি 4500/1000 ফলাফল হিসাবে 4.5 পাবেন, কারণ জাভাস্ক্রিপ্ট কেবল "সংখ্যার প্রকার" হিসাবে ফলাফল হিসাবে বিবেচিত হবে এবং ফলটিকে সরাসরি ভাসমান হিসাবে ফিরিয়ে দেবে

শুভকামনা !!


পাইথন ২.x এ এটিই সত্য পাইথন 3-তে, একটি একক সহ বিভাজনের /ফলশ্রুতিতে সর্বদা ফলাফল হয়, তাই 4500/1000সর্বদা 4.5।
কাছাকাছি

0

আপনি যদি কিছু আমদানি করতে না চান তবে আপনি সর্বদা আপনার নিজের সাধারণ ফাংশনটি এখানে লিখতে পারেন:

def RoundUP(num): if num== int(num): return num return int(num + 1)


2
সংখ্যাটি 2.05 হলে এটি কাজ করে না। আপনার ইনপুট হিসাবে 9 এর সাথে কমপক্ষে আপনাকে অনেকগুলি সংখ্যা থাকতে হবে, আপনাকে 0.999 দিয়ে রেখে যাবে ... যা 1 But তবে তারপরে আপনার কোণার কেস 2 আবার গোল হয়ে যাবে। - ঠিক আছে, আমার ধারণা গণিত.সিল থাকার একটি কারণ আছে reason
মারিয়া ফ্রাঙ্ক

-1

আপনি মেঝে বিচক্ষণতা ব্যবহার করতে এবং এটিতে 1 যুক্ত করতে পারেন। 2.3 // 2 + 1


2
বা ceil()বিপরীতভাবে বিপরীতে কাজ করার পরিবর্তে এবং তারপরে ক্ষতিপূরণ দেওয়ার পরিবর্তে ব্যবহার করুন
গুইভাল

2
এটি কাজ করবে না। উদাহরণস্বরূপ:from math import ceil; assert 4 // 2 + 1 == ceil(4 / 2)
কার্ল থোম

-1

আমি মনে করি আপনি int()এবং এর মধ্যে কাজের ব্যবস্থাগুলি গুলিয়ে ফেলছেন round()

int()ভাসমান নম্বর দেওয়া থাকলে সর্বদা দশমিক সংখ্যাগুলি কেটে দেয়; যেহেতু round(), ক্ষেত্রে 2.5যেখানে 2এবং 3থেকে সমান দূরত্ব মধ্যে উভয় 2.5, পাইথন আয় যেটা থেকে 0 পয়েন্ট বেশি দূরে।

round(2.5) = 3
int(2.5) = 2

"রাউন্ড আপ" এর অর্থ হ'ল উদাহরণস্বরূপ 2.3রূপান্তরিত হয় 3যা আপনার উদাহরণগুলির মধ্যে দুটিতেই ঘটে।
কাছাকাছি

-2

আমার ভাগ

আমি পরীক্ষা করেছি print(-(-101 // 5)) = 21 উপরে দেওয়া উদাহরণ ।

এখন গোল করার জন্য:

101 * 19% = 19.19

আমি ব্যবহার করতে পারি না **তাই আমি গুণকে বিভাগে ছড়িয়ে দিলাম:

(-(-101 //(1/0.19))) = 20

-3

আমি পাইথনের মূলত একজন শিক্ষানবিস, তবে আপনি যদি নীচে না গিয়ে কেবল গোল করার চেষ্টা করছেন তবে কেন করবেন না:

round(integer) + 1

2
এটি কোনও পূর্ণসংখ্যার জন্য কাজ করবে না যেখানে 2.5 <পূর্ণসংখ্যা <3. গোল করার পরে পছন্দসই মান 3 হয় তবে আপনার অভিব্যক্তি এটিকে 4 এ পরিণত করবে
প্রণব শুক্ল

1
আমি মনে করি আপনি বলতে চাইছেন round(integer + 0.5)এটি আমি প্রায়শই করি
ক্লিপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.