如何实现仅当输入单独#时终止的字符串输入循环?
Python实现持续输入直到输入单个#的循环
给你写个简单的实现,结合你的C++基础来解释下差异:
基础实现(推荐,兼容用户不小心输入空白的情况)
while True: # 读取用户单行输入,并用strip()去掉首尾空白(空格、换行等) user_input = input().strip() # 判断是否是单个#,是的话终止循环 if user_input == '#': break # 这里可以替换成你处理输入的逻辑,比如打印输入内容 print(f"你输入的内容: {user_input}")
严格匹配版本(仅接受纯单个#,不能带任何空白)
如果要求用户必须严格输入单个#(不能有空格、换行等),去掉.strip()即可:
while True: user_input = input() if user_input == '#': break print(f"你输入的内容: {user_input}")
和C++的对比说明
- Python里的
while True就相当于C++的while(1),都是无限循环 input()函数类似C++的getline(cin, str),会读取整行输入(直到换行),并且返回的字符串不包含末尾的换行符- 如果用C的
cin >> str会自动跳过开头空白,但Python的input()会保留整行的所有字符(包括开头空格),所以用.strip()可以模拟类似C处理空白的效果,避免误判
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

