笨人初学Python,希望得到大家的指点,本题如图,不需要太多时间,希望您能在简洁的代码语句下面标明本句具体是干啥的。感谢!
回答引用new Bing:
以下是一个简单的 Python 代码实现:
n = int(input())
lst = []
for i in range(n):
command = input().split()
if command[0] == 'insert':
lst.insert(int(command[1]), int(command[2]))
elif command[0] == 'print':
print(lst)
elif command[0] == 'remove':
lst.remove(int(command[1]))
elif command[0] == 'append':
lst.append(int(command[1]))
elif command[0] == 'sort':
lst.sort()
elif command[0] == 'pop':
lst.pop()
elif command[0] == 'reverse':
lst.reverse()
首先读入整数 n ,然后通过循环逐一读入指令。对于每个指令,我们判断其第一个关键字是哪个,并根据不同的关键字执行相应的操作。最后,如果遇到了 "print" 指令,则输出列表。
该回答引用ChatGPTpython
import os
while True:
cmd = input("请输入指令:")
os.system(cmd)
看这一张图,其实是这样的,就是当他本身调用本身时,调用一次,就往更深的函数走,但是如果说最深的这一层走不下去了,就开始返回到上一层,并执行完上一层的下面的内容。当上一层也走到了尽头,就回到他的上一层,阻塞打开,执行完剩下的部分。原来是这样。
这道题 最重要的就是 先储存树 然后遍历 使用递归(深度优先遍历 dfs)
#递归 深度搜索真的就很难理解
def dfs(node,pre):
global value,table
for i in table.get(node):
print(i,node,"..1..")
if i !=pre:
print(i,node,"..2..")
dfs(i,node)
print(i,node,"..3..")
value[node][0]+=max(value[i][0],value[i][1])
value[node][1]+=value[i][0]
print('value["%d"][0]="%d"'%(node,value[node][0]))
print('value["%d"][1]="%d"'%(node,value[node][1]))
global value, table
n = int(input())
value = list(map(int, input().split()))
value = list(map(lambda x:[0,x],value))
print(value)
value.insert(0,0)
print(value)
table = {}
for i in range(n):
table.update({i + 1: []})
print(table)
#get(键值)
for i in range(n - 1):
father, child = list(map(int, input().split()))
table.get(father).append(child)
table.get(child).append(father)
print(table)
#以上就是树的储存
dfs(1,0)
print(max(value[1][0],value[1][1]))
哎呀 这道题是真的很难,但是我还是学到了很多,这就是python的优点,他有列表可以嵌套,还有字典,可以用来储存树,好的。
我今天好像与理解了更深一点,就是递归,其实。
k=int(input())
if k>=90:
print("A")
if 90>k>=80:
print("B")
if 80>k>=70:
print("C")
if 70>k>=60:
print("D")
if k<60:
print("E")