arianomrani24

تمرین برنامه نویسی : قیمت لپ تاپ ها

arianomrani24 ۱۳۹۸/۰۴/۰۵ زبان برنامه‌نویسی پایتون

سلام یک مسئله برنامه نویسی به زبان پایتون هست که برام خیلی گنگه اگه میشه راهنمایی کنید .

از راهنمایی های کوچک ( ساده کردن مسئله یا تکه کد ) و بزرگ ( کد کامل جواب ) شما ممنونم !

سوال :

یه روز سیندخت و ایرسا در حال بحث در مورد قیمت لپ تاپ ها و کیفیت آنها بودند. سیندخت حدس میزنه هرچی یه لپ تاپ گرون تر باشه کیفیت بهتری هم داره. اما ایرسا ادعا می کنه می تونه ۲ تا لپ تاپ پیدا کنه که قیمت اولی از دومی کمتر باشه ولی کیفیتش از دومی بیشتر باشه و بتونه حدس سیندخت را رد کند. حالا شما باید با نوشتن یه برنامه به ایرسا کمک کنید ادعای خودش را بررسی کند.

مشخصات n لپ تاپ به شما داده میشه. خط اول ورودی شامل عدد n هست که تعداد لپ تاپ ها را نشان می دهد. هر یک از n خط بعدی شامل دو عدد می باشد که عدد اول قیمت لپ تاپ را نشان می دهد و عدد دوم کیفیت آن لپ تاپ را. اگه تونستید دو تا لپ تاپ پیدا کنید که شرایط گفته شده توسط ایرسا را داشته باشد چاپ کنید happy irsa در غیر این صورت چاپ کنید poor irsa (لطفا به کوچک بودن حروف توجه کنید تمامی حروف به صورت کوچک نوشته می شوند.)

ورودی نمونه:

2
1 10
7 3


خروجی نمونه:

happy irsa

در ورودی نمونه لپ تاپ اول قیمت ۱ را دارد و کیفیت ۱۰ (هرچه عدد بزرگتر باشد کیفیت بیشتر است) لپ تاپ دوم قیمت ۷ دارد و کیفیت ۳. خب ایرسا موفق شده است دو لپ تاپ پیدا کند که با اینکه قیمت دومی از قیمت اولی بیشتر است اما کیفیت دومی از کیفیت اولی کمتر است.

ورودی نمونه:

4
1 5
7 9
5 6
20 30


خروجی نمونه:

poor irsa

پاسخ‌ها به این تاپیک
mahigirmohamad
mahigirmohamad
۱۳۹۹/۰۹/۰۲
این کد برای وارد کردن اعداد 2 رقمی جواب میده
price=[]
quality=[]
c=0
x=input()
for i in range(0,int(x)):
 y=input()
 price.append(y[:2])
 quality.append(y[2:])
for j in range(0,len(price)):
 for e in range(0,len(price)):
 if int(price[j])<int(price[e]) and int(quality[j])>int(quality[e]):
 c=c+1
if c>=1:
 print('happy irsa')
else:
 print('poor irsa') 

 
parsa.ra
parsa.ra
۱۳۹۹/۰۶/۲۶
n=int(input())
my_list=[]


for i in range(n):
 data=input().split()
 my_list=my_list+[data]
 my_list.sort()

z=False
z1=my_list.pop()

for i in my_list:
 z2=my_list.pop()
 if int(z2[0])<int(z1[0]) and int(z1[1])<int(z2[1]):
 z=True
 break
 elif int(z2[0])<int(z1[0]) and int(z1[1])>=int(z2[1]):
 z1=z2



if z:
 print('happy irsa')
else:
 print('poor irsa')
alibadparva0
alibadparva0
۱۳۹۹/۰۲/۲۹

داداش من این کد رو میزنم ران نمیشع

farshad20
farshad20
۱۳۹۸/۰۴/۰۹

سلام برای من یکمی گنگ هست ماجرا .

کد زیر تصمیم میگیره اگر کیفیت لپ تاپ حداقل 10 برابر قیمت بود حق با ایرسا هست .

تعداد لپ تاپ ورودی هم باید زوج باشه تا با ادعای ایرسا جور در بیاد .

اگر شرایط مساوی شد باز هم ایرسای کمال گرا خوشحال میشه .

با چند نمونه تست به جواب های دلخواه رسیدم اگر ایرادی هست ببخشید .

class ConfirmLaptopsValue:
 isra = []
 sindokht = []

 def __init__(self, number):
 if number < 2 or number % 2 != 0:
 raise ValueError('You Should Enter Even Number Greater Than Two ')

 self.number = number

 @staticmethod
 def get_laptop_info(value):
 try:
 _input = int(input("Enter {0} > ".format(value)))
 except ValueError:
 raise ValueError('Enter An Integer Please . ')
 else:
 return _input

 def create_collections(self):
 for l in range(self.number):
 price = self.get_laptop_info('Price')
 value = self.get_laptop_info('Value')

 if (price * 10) <= value:
 self.isra.append(True)
 else:
 self.sindokht.append(True)

 return "Collections: (Isra: %s) (Sindokht %s)" % (self.isra, self.sindokht)

 def result(self):
 if len(self.isra) >= len(self.sindokht):
 return "Happy Isra"

 return "Poor Isra"
zr.amirhosein
zr.amirhosein
۱۳۹۹/۰۶/۰۳
import random
x = random.randint(1,10)
print(x)
for i in range(x):
 a, b = input().split()
 a = int(a)
 b = int(b)
 
for i in range(0, x):
 if a > b:
 print("happy irsa")
 break 
 else:
 print("poor irsa") 
 break

در پاسخ به

arianomrani24
arianomrani24
۱۳۹۸/۰۴/۰۹

دست شما درد نکنه ممنون از کمک بزرگتون !

در پاسخ به