dict = {}
data = input("请输入科目和成绩,比如:语文 89,输入空字符串并按回车退出:")
while data:
ls = data.split(" ")
subject = ls[0]
score = ls[1]
dict[subject] = score
data = input("请输入科目和成绩,比如:语文 89,输入空字符串并按回车退出:")
print(dict)
输入空字符串,无法退出while循环的问题,空字符串不是布尔值为False吗,
输入空字符串还会进入到while循环中,谁帮忙看一下到底是哪里出了问题?
cv您的代码,“直接回车”可以正常退出循环啊。您的代码,没得问题!
在while循环内加一条打印输出语句,可以清楚地看到,直接回车,可以退出循环。一开始就回车,根本就不进入循环。
#!/sur/bin/nve python
# coding: utf-8
dict = {}
data = input("请输入科目和成绩,比如:语文 89,输入空字符串并按回车退出:")
while data:
print('\n输入内容:', data)
ls = data.split(" ")
subject = ls[0]
score = ls[1]
dict[subject] = score
data = input("\n请输入科目和成绩,比如:语文 89,输入空字符串并按回车退出:")
print(dict)
【以下回答由 GPT 生成】
问题的根本原因是在判断输入是否为空字符串时出现了错误。在while循环中,使用while data:
来判断输入是否为空字符串是错误的,因为空字符串在Python中是被认为是True的,所以循环会继续执行。
解决这个问题的方法是改变判断条件。可以使用while data != ''
来判断输入是否为空字符串,或者直接使用while True
来创建一个无限循环,在循环内部判断输入是否为空字符串,然后使用break
语句来退出循环。
以下是修正后的代码示例:
data = input("请输入科目和成绩,比如: 语文 89,输入空字符串并按回车退出:")
dict = {}
while True:
if data == '':
break
ls = data.split(" ")
subject = ls[0]
score = ls[1]
dict[subject] = score
data = input("请输入科目和成绩,比如: 语文 89,输入空字符串并按回车退出:")
print(dict)
通过这样修改,当输入为空字符串时,程序会跳出循环并打印字典。
【相关推荐】