您的代码没有问题。是有成break的,符合题目前半段要求,但您只有一个变量接收键盘录入,换句话说就是您只保存了最后一行键盘输入。
问题在于您根本没有写终端输出print()语句,是看不到输出的。
修改——
在while循环前设置一个列表接收键盘的每次录入,在break 前加上终端打印语句print() 。如——
您的代码运行效果截屏图片
修改后代码运行效果截屏图片
Python 代码
#!sur/bin/nve python
# coding: utf-8
myinput = []
while True:
s = input()
myinput.append(s) # 追加输入到列表
if s.strip() in ['y', 'Y']: # 去除输入的前后空格,让判定没有偏差。
print(myinput) # 打印保存的键盘输入。
break
当然,您最好给input() 加入输入提示字符,再打理下输出格式,就更完美了。例如——
#!sur/bin/nve python
# coding: utf-8
myinput = []
while True:
s = input(f"\n{'请输入:':>8}")
myinput.append(s) # 追加输入到列表
if s.strip() in ['y', 'Y']: # 去除输入的前后空格,让判定没有偏差。
myinput = '\n'.join(myinput) # 用回车换行符拼接所有键盘输入字符,让输出更爽眼。
print(f'\n\n您的输入:\n{myinput}\n') # 打印保存的键盘输入。
break
如您所见,代码把最后的输入'y' or 'Y' 也记录了,这不合常理,您可以试着修改……
题目1:
while True:
user_input_list = []
user_input = input("请输入字符串,输入y或Y退出程序:")
while user_input.lower() != "y":
user_input_list.append(user_input)
user_input = input("请输入字符串,输入y或Y退出程序:")
for input_str in user_input_list:
print(input_str)
break
题目2:
while True:
try:
user_input = float(input("请输入一个浮点数:"))
except ValueError:
print("输入错误,请重新输入!")
else:
print("用户输入的浮点数为:", user_input)
break
题目3:
import re
s = "9e10"
if re.match(r'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$', s):
print("True")
else:
print("False")
###题目1
inputs = []
while True :
a = (input('请输入字符串,输入y或Y退出: '))
if a in ['y','Y'] :
print(inputs)
break
else :
inputs.append(a)
输入等于y时退出
inputs = []
while True :
a = (input('请输入字符串,输入包含y或Y退出: '))
if 'y' in a or 'Y' in a :
print(inputs)
break
else :
inputs.append(a)
你的py文件没有保存,先保存再运行
那如果我们想要遍历得到字典的值呢?
我们很容易想到下面的第一种方式:
①根据键得到值
我们知道上面那个代码会得到字典的键,那么我们很容易想到如下方式:
dic = {'apple': '1', 'orange': '2', 'banana': '3'}
for i in dic:
print(i, ':', dic[i])
那么接下来我们介绍第二种的方式:
②根据values方法:
dic = {'apple': '1', 'orange': '2', 'banana': '3'}
for i in dic.values():
print(i)
.