求助
"""我们一起来玩一个小游戏吧"""temp = input("今天是班花的生日,她在家举办了一场生日宴会,你喜欢她很久了,打算在今天向她告白")
temp = input("可是你没有合适的衣服,你决定:a.直接去 b.买衣服:")
guess = int(temp)
if guess == a:
print("你穿着一身寒酸的衣服去了班花的生日宴会,看着在场的人,你内心的自卑被唤起了。你没有选择表白,而是默默离开了。")
else:
print("看着钱包里的余额,你咬咬牙,还是决定去商场里买几身新衣服")
print("逛了半天,你买到了几身像样的衣服,虽然没钱吃饭了,但一想到班花,你心里就觉得值得")
print("到了晚上,你在大家的起哄声中向她告白")
print("班花生气极了:“就你这个样子还想和我在一起,真是癞蛤蟆想吃天鹅肉,没门!”你羞愤地夺门而出")
print("你还是单身")
这个代码运行到一半就不行了,为啥啊,无法选择买衣服还是直接去 这段代码运行中出现了一些问题。在Python中,输入函数input()返回的是一个字符串类型的值。因此,在比较guess的值时,应该使用字符串 'a' 而不是变量 a。你可以尝试修改代码如下:
temp = input("今天是班花的生日,她在家举办了一场生日宴会,你喜欢她很久了,打算在今天向她告白")
temp = input("可是你没有合适的衣服,你决定:a.直接去 b.买衣服:")
guess = temp.lower()# 将输入转换为小写字母
if guess == 'a':
print("你穿着一身寒酸的衣服去了班花的生日宴会,看着在场的人,你内心的自卑被唤起了。你没有选择表白,而是默默离开了。")
else:
print("看着钱包里的余额,你咬咬牙,还是决定去商场里买几身新衣服")
print("逛了半天,你买到了几身像样的衣服,虽然没钱吃饭了,但一想到班花,你心里就觉得值得")
print("到了晚上,你在大家的起哄声中向她告白")
print("班花生气极了:“就你这个样子还想和我在一起,真是癞蛤蟆想吃天鹅肉,没门!”你羞愤地夺门而出")
print("你还是单身")
在修改后的代码中,我们使用 temp.lower() 将用户输入转换为小写字母,然后与字符串 'a' 进行比较。这样就能正确判断选择是买衣服还是直接去。
希望对你有帮助!如果你还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案 问题描述:
这段Python代码在运行到一半的时候无法进行选择买衣服还是直接去,请问是怎么回事?
"""我们一起来玩一个小游戏吧"""
temp = input("今天是班花的生日,她在家举办了一场生日宴会,你喜欢她很久了,打算在今天向她告白")
temp = input("可是你没有合适的衣服,你决定:a.直接去 b.买衣服:")
guess = int(temp)
if guess == a:
print("你穿着一身寒酸的衣服去了班花的生日宴会,看着在场的人,你内心的自卑被唤起了。你没有选择表白,而是默默离开了。")
else:
print("看着钱包里的余额,你咬咬牙,还是决定去商场里买几身新衣服")
print("逛了半天,你买到了几身像样的衣服,虽然没钱吃饭了,但一想到班花,你心里就觉得值得")
print("到了晚上,你在大家的起哄声中向她告白")
print("班花生气极了:“就你这个样子还想和我在一起,真是癞蛤蟆想吃天鹅肉,没门!”你羞愤地夺门而出")
print("你还是单身")
解决方法:
在这段代码中,有一处错误导致了无法选择买衣服还是直接去。问题出现在以下代码片段:
guess = int(temp)
if guess == a:
print("你穿着一身寒酸的衣服去了班花的生日宴会,看着在场的人,你内心的自卑被唤起了。你没有选择表白,而是默默离开了。")
else:
# 其他代码...
原因是您将选项作为字符串进行输入,但在比较时,使用了变量 a 而不是字符串 "a"。因此,代码应该进行如下修改:
guess = temp
if guess == "a":
print("你穿着一身寒酸的衣服去了班花的生日宴会,看着在场的人,你内心的自卑被唤起了。你没有选择表白,而是默默离开了。")
else:
# 其他代码...
通过上述修改,您应该能够正确地选择买衣服或直接前往。希望能帮到您!如果还有其他问题,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
这个问题的原因在于你在比较 guess 和 a 的时候, a 被当作变量处理了,但是你并没有定义过这个变量 a ,所以它会抛出一个 NameError 错误。实际上,你需要将 a 当作字符串来处理。
另外,你的 input 函数返回的是一个字符串,而你在下一行用 int 函数将其转成了整数,这也是错误的,因为你需要的输入是 a 或 b ,而不是数字。
修正后的代码如下:
print("我们一起来玩一个小游戏吧")
print("今天是班花的生日,她在家举办了一场生日宴会,你喜欢她很久了,打算在今天向她告白")
temp = input("可是你没有合适的衣服,你决定:a.直接去 b.买衣服:")
if temp == 'a':
print("你穿着一身寒酸的衣服去了班花的生日宴会,看着在场的人,你内心的自卑被唤起了。你没有选择表白,而是默默离开了。")
else:
print("看着钱包里的余额,你咬咬牙,还是决定去商场里买几身新衣服")
print("逛了半天,你买到了几身像样的衣服,虽然没钱吃饭了,但一想到班花,你心里就觉得值得")
print("到了晚上,你在大家的起哄声中向她告白")
print("班花生气极了:“就你这个样子还想和我在一起,真是癞蛤蟆想吃天鹅肉,没门!”你羞愤地夺门而出")
print("你还是单身")
在这个修正后的代码中, temp 是一个字符串,它的值是用户的输入。然后我们比较 temp 和字符串 'a' ,如果用户输入的是 'a' ,就执行第一个 print 语句,否则执行后面的语句。 isdkz 发表于 2023-7-23 18:31
这个问题的原因在于你在比较 guess 和 a 的时候, a 被当作变量处理了,但是你并没有定义过这个变量 a ,所 ...
谢谢
页:
[1]