12.编写程序,找到下面字典中年龄最大的人,并输出persons = {“li":18,"wang":50,"zhang":20,"sun":22}怎么找最大的键值对
时间: 2023-07-02 21:11:07 浏览: 121
可以使用 Python 内置函数 `max()` 找到字典中最大的键值对,具体代码如下:
```python
persons = {"li": 18, "wang": 50, "zhang": 20, "sun": 22}
max_age = max(persons, key=persons.get)
print("年龄最大的人是:{},年龄为:{}".format(max_age, persons[max_age]))
```
输出结果为:
```
年龄最大的人是:wang,年龄为:50
```
其中,`max()` 函数的第一个参数是字典的键,第二个参数是一个函数,用于指定比较键值对大小的规则。在本例中,我们使用 `persons.get` 函数作为比较规则,它会根据字典中的值来比较大小。找到最大的键后,我们可以通过 `persons[max_age]` 来获得对应的值。
相关问题
找出字典中年龄最大的人,下面程序中有几个空,将其完善,达到所要的结果。 persons = {"张三":18, "李四":36, "王五":20, "赵六":47, "田七":22} m = "张三" for k in persons. (1) : if (2) : (3) print('{}:{}'.format( (4) ))
```
persons = {"张三":18, "李四":36, "王五":20, "赵六":47, "田七":22}
m = "张三"
for k in persons: # (1) 遍历字典中所有键值对的键
if persons[k] > persons[m]: # (2) 如果当前遍历到的键的值比 m 对应的值大
m = k # (3) 将 m 更新为当前遍历到的键
print('{}:{}'.format(m, persons[m])) # (4) 输出结果
```
输出:`赵六:47`,表示年龄最大的人是赵六,年龄为 47 岁。
7-8 jmu-Java-04面向对象进阶-01-接口-Comparable 分数 20 作者 郑如滨 单位 集美大学 编写实现Comparable接口的PersonSortable类,使其按name以及age排序 1.编写PersonSortable类 属性:private name(String)、private age(int) 有参构造函数:参数为name,age toString函数:返回格式为:name-age 实现Comparable接口:实现先对name升序排序,如果name相同则对age进行升序排序 2.main方法中 首先输入n 输入n行name age,并创建n个对象放入数组 对数组进行排序后输出。 最后一行使用System.out.println(Arrays.toString(PersonSortable.class.getInterfaces()));输出PersonSortable所实现的所有接口 输入样例: 5 zhang 15 zhang 12 wang 14 Wang 17 li 17 输出样例: Wang-17 li-17 wang-14 zhang-12 zhang-15 //这行是标识信息
好的,我明白了。以下是符合要求的PersonSortable类的代码:
```java
import java.util.*;
public class PersonSortable implements Comparable<PersonSortable> {
private String name;
private int age;
public PersonSortable(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
return name + "-" + age;
}
@Override
public int compareTo(PersonSortable other) {
int nameCmp = name.compareTo(other.name);
if (nameCmp != 0) {
return nameCmp;
} else {
return Integer.compare(age, other.age);
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
PersonSortable[] persons = new PersonSortable[n];
for (int i = 0; i < n; i++) {
String name = input.next();
int age = input.nextInt();
persons[i] = new PersonSortable(name, age);
}
Arrays.sort(persons);
for (int i = 0; i < n; i++) {
System.out.println(persons[i]);
}
System.out.println(Arrays.toString(PersonSortable.class.getInterfaces()));
}
}
```
你可以将上述代码复制到你的Java开发环境中运行,检查它是否符合要求。
阅读全文