首页 > 试题广场 >

执行下面代码,请问输出结果为() name = “顺顺” d

[单选题]
执行下面代码,请问输出结果为()
name = “顺顺”
def f1():
    print(name)
def f2():
    name = “丰丰”
f1()
f1()
f2()



  • 顺顺 顺顺
  • 丰丰  丰丰
  • 顺顺 丰丰
  • 丰丰  顺顺
#考的是python代码
name = "顺顺" #定义一个变量name并赋值“顺顺”,python变量具有动态类型
#python是通过制表位的新式分割代码
#定义一个fun1()函数 开始
def fun1():
    print(name)
#结束
#定义一个空的方法体fun2()函数 开始
def fun2():
#结束
name = "丰丰" #为变量name再次赋值“丰丰”
fun1() #直接调用函数fun1(), 打印输出  顺顺 ,自动换行
fun1() #直接调用函数fun1() ,打印输出  顺顺,自动换行  答案没有换行,得出结论编题人是个侮辱python和java的**
fun2() #直接调用函数fun2() 


发表于 2019-08-27 20:26:37 回复(7)
顺顺丰丰搞什么
编辑于 2019-08-15 17:56:14 回复(10)
name="丰丰"是f2()里的局部变量,而f1()里的是外部那个name
发表于 2019-08-14 22:49:51 回复(2)
这题想表达什么?秀java程序员呢?
发表于 2019-07-27 07:39:14 回复(0)
本题知识点:java工程师、c++工程师、算法工程师、Java
然后这尼玛是python!!!
发表于 2019-07-26 15:23:16 回复(0)
是顺丰拉近了C/C++,Python,Java程序员的距离
发表于 2019-08-15 18:47:40 回复(1)
def f2():
    global name
    name = “丰丰”
这样就能修改全局变量的值了

发表于 2020-07-30 14:58:58 回复(0)
python中以缩进为程序流程,f2():下面的一行并没有缩进,所以第二句的name赋值并不属于函数的部分,因此执行两次f1()输出两次顺顺,执行一次f2()并不会输出任何东西,因为没有函数体。
发表于 2019-09-08 16:28:08 回复(5)
一看到name就知道是顺丰出的、果断跳过、其实我就想来看看评论😀😀😀😀
发表于 2019-08-21 23:00:20 回复(0)
<p>有print才会输出,因为f2没有print所以没有输出</p>
发表于 2020-08-08 22:14:10 回复(0)
name = "顺顺" def f1(): print(name) def f2(): name = "丰丰" f1()
f1()
f2()
题目中的f2()只定义了一个name,并没有打印啊。所以f2的执行效果没有打印任何东西出来,我看的以为f2里面是print(name),所以以为还有个“丰丰”呢
发表于 2019-12-22 09:13:55 回复(0)
# 全局变量
name = "顺顺"
def f1():
    print(name)
def f2():
    # 局部变量
    name = "丰丰"
f1()
f1()
f2()

两次调用f1函数都会打印:顺顺。调用f2的时候虽然让name=“丰丰”,没有输出,故什么都不会输出。而f2下的name是个局部变量,也不会改变全局变量name的值。

发表于 2022-03-12 15:18:00 回复(0)
SdV头像 SdV
f2()调了个寂寞
发表于 2020-09-15 16:09:44 回复(0)
考察作用域的问题,全局与局部,局部作用域只对该作用域内的变量起作用,第一个name变量属于全局变量,第二个name属于局部变量,调用函数时,f1()两次输出结果自然是:顺顺 顺顺 ;f2()调用只是在的函数内name变量的值是:丰丰,对全局变量不做改变。
发表于 2022-05-07 19:35:09 回复(0)
为什么不选b,name不是变了吗
发表于 2019-09-20 00:21:34 回复(1)
这玩意运行报错的   C
发表于 2019-07-26 18:44:20 回复(0)
管他什么题,反正我猜对了...傲娇\(//∇//)\
发表于 2019-07-25 13:19:05 回复(0)
这是python吧
发表于 2019-09-18 10:06:13 回复(1)
作为一个java的,只能如此理解了
public static void main(String[] args) {
    String name = "顺顺"; f1(name); f2(name);
} private static void f2(String name) {
    name = "丰丰"; f1(name);
} static void f1(String name){
    System.out.println(name);
}
顺顺
丰丰

发表于 2019-07-29 13:50:17 回复(0)
大意了,错因在于没有看清f2的函数,他没有print,只是对name变量做了一个赋值

首先按照顺序执行为,f1-->f1-->f2
f1进行pint输出顺顺,f2执行在最后,并且没有print,所以结果应该是两个顺顺 
编辑于 2024-01-09 11:02:21 回复(0)