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

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

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

سوال :

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

مشخصات 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

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

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

کد زیر تصمیم میگیره اگر کیفیت لپ تاپ حداقل 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"
sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

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

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش
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
sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

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

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش
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')
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش
این کد برای وارد کردن اعداد 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') 

 
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

n=int(input())

L=[]
for i in range(0,n):
	s=input().split()
	L.append(s)
for i in range(0,len(L)):
	for j in range(0,2):
		L[i][j]=int(L[i][j])
 		
flag=0 

for i in L:
	for j in range(1,len(L)):
		if((i[1]>=L[j][1]) and (i[0]<L[j][0])):
	 	 flag=1
	 
if flag==1:
	print("happy irsa")
else:
	print("poor irsa")		
		
online-support-icon