编程实践:笔记本电脑价格清单问题



这是给我的问题

有一天,Sindakht和Irsa正在讨论笔记本电脑的价格和质量。Sindakht猜测笔记本电脑越贵,质量越好。但Irsa声称,她可以找到两台价格低于第一台但质量高于第二台的笔记本电脑,她可以反驳Sindakht的猜测。现在你必须编写一个程序来帮助Irsa调查她的索赔。

N笔记本电脑规格将提供给您。第一个输入行包含数字n,表示笔记本电脑的数量。接下来的n行中的每一行都包含两个数字,第一个数字表示笔记本电脑的价格,第二个数字指示笔记本电脑的质量。如果你能找到两台符合Irsa规定条件的笔记本电脑,请打印happy Irsa,否则请打印poor Irsa(请注意小写字母,所有字母都用小写书写(。

样本输入:

2 
1 10 
7 3

样本输出:

happy irsa

在输入样本时,第一台笔记本电脑的价格为1,质量为10(数字越高,质量越高(。第二台笔记本电脑的价格是7,质量是3。Irsa已经找到了两台笔记本电脑,尽管后者的价格高于第一台,但后者的质量低于第一台。

样本输入:

4 
1 5 
7 9 
5 6 
20 30

样本输出:

poor irsa

我尝试了这个任何人都可以帮我做正确的

n=int(input())
computer=[]
for m in range(n) :
laptop=input()
laptop=laptop.split()
computer.append(laptop)
for i in range(n) :
for j in range(2):
computer[i][j]=int(computer[i][j])
for i in range(n+1) :
if computer[i][0] < computer[i+1][0] and computer[i][1] > computer[i+1][1] :
print("happy irsa")
break
else:
print("poor irsa")
break

您需要比较每一对笔记本电脑,因此需要嵌套循环。

只有当你找到一双能让Irsa开心的鞋时,你才应该跳出循环。如果你没有崩溃,Irsa很难过,你可以使用else:blocb。

irsa_happy = False
for c1 in computer:
for c2 in computer:
if c1[0] < c2[0] and c1[1] > c2[1]:
print("happy irsa")
irsa_happy = True
break
if irsa_happy:
break
else:
print("poor irsa")