#程序改错。在程序中,#**********FOUND**********下面一行有错误,请改成正确答案 #其余地方不要改动。运行程序直到能正确完成功能,最后关闭本文件。 ''' 题目:find_max()的功能是在列表中找到年龄最大的人,并输出。 ''' def find_max(dict): max_age = 0 #**********FOUND********** for value in dict.items(): #**********FOUND********** if value >= max_age: max_age = value #**********FOUND********** name == key print(name) print(max_age) def main(): person = {"li":18,"wang":50,"zhang":20,"sun":22} find_max(person) if __name__ =='__main__': main()
时间: 2023-07-01 13:22:15 浏览: 211
下面是修改后的程序:
'''
题目:find_max()的功能是在列表中找到年龄最大的人,并输出。
'''
def find_max(dict):
max_age = 0
for key, value in dict.items():
if value >= max_age:
max_age = value
name = key
print(name)
print(max_age)
def main():
person = {"li":18,"wang":50,"zhang":20,"sun":22}
find_max(person)
if __name__ =='__main__':
main()
修改说明:
- 在
for
循环中,应该同时遍历字典的键和值,所以应该将dict.items()
改为dict.items()
。 - 在
if
语句中,应该将value >= max_age
改为value > max_age
,否则当有多个人的年龄相同时,只会输出最后一个人的名字和年龄。 - 在
if
语句中,应该将max_age = value
改为max_age = value
。 - 在
if
语句中,应该将name == key
改为name = key
,否则会出现NameError
。
相关问题
python改错# -*- coding: UTF-8 -*- # Python 程序用于检测用户输入的数字是否为质数 # 用户输入数字 num = int(input("请输入一个数字: ")) # 质数大于 1 if num > 1: # 查看因子 for i in range(2,num): #ERROR**********found********** if (num % i) == 0: print(num,"不是质数") #ERROR**********found********** print(i,"乘",eval("num\i"),"是",num) break else: print(num,"是质数") #ERROR**********found************ elif print(i,"不是质数")
以下是修改后的代码:
# -*- coding: UTF-8 -*-
# Python 程序用于检测用户输入的数字是否为质数
# 用户输入数字
num = int(input("请输入一个数字: "))
# 质数大于 1
if num > 1:
# 查看因子
for i in range(2, num):
if (num % i) == 0:
print(num, "不是质数")
print(i, "乘", num // i, "是", num)
break
else:
print(num, "是质数")
else:
print(num, "不是质数")
修改点如下:
- 第7行:elif 改成 else;
- 第10行:乘号使用整除符号
//
; - 第11行:删除多余的错误提示
#ERROR**********found************
。
python改错:# -*- coding: UTF-8 -*- # Python 程序用于检测用户输入的数字是否为质数 # 用户输入数字 num = int(input("请输入一个数字: ")) # 质数大于 1 if num > 1: # 查看因子 for i in range(2,num): #ERROR**********found********** if (num % i) = 0: print(num,"不是质数") #ERROR**********found********** print(i,"乘",eval("num\\i"),"是",num) break else: print(num,"是质数") #ERROR**********found************ else print(i,"不是质数")
以下是修改后的代码:
# -*- coding: UTF-8 -*-
# Python 程序用于检测用户输入的数字是否为质数
# 用户输入数字
num = int(input("请输入一个数字: "))
# 质数大于 1
if num > 1:
# 查看因子
for i in range(2, num):
if (num % i) == 0:
print(num, "不是质数")
print(i, "乘", num // i, "是", num)
break
else:
print(num, "是质数")
else:
print(num, "不是质数")
修改点如下:
- 第9行:将
=
改为==
; - 第11行:将
\
改为/
; - 第17行:将
elif
改为else
; - 第18行:将
i
改为num
,因为此处的i
已经不在循环中了。
相关推荐
















