- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是新手,刚接触编程,所以请放轻松。我知道几乎所有读过这篇文章的人都比我知道的多,我可能做错了。
话虽如此,这就是我正在尝试做的事情:
while True:
arrival = raw_input('Arrival time? Example 8:30 \n')
if arrival != "%s%s:%s%s" % (range(0, 1), range(0, 10), range(0, 7), range(0, 10):
arrival = raw_input('Follow the example: 8:30 \n)
break
elif arrival == "q":
print "escape velocity reached!!!"
return 0
“if”语句没有正确的语法,我什至不知道这是否是一个人应该/将如何着手编写这段代码的第一位。基本上,我希望用户输入的格式为 1:11 或 11:11,否则我的代码就会中断。请忽略 elif,它只是在我测试时打破循环。
主要问题:
相关问题:
如何让 python 接受“正确”格式化字符串(XX:XX 或 X:XX)的许多不同可能组合?
强制某人以特定格式在容忍范围内输入数据或增加 raw_input 容忍度的更好方法是什么?
完成上述所有工作的更好方法是什么,或者是否有更好的方法来解决这个问题?
提前致谢!
附:
最佳答案
这是我将如何做到这一点:
time.strptime
解析时间。 '%H:%M'
的格式字符串适用于你的例子,你可以更具体或尝试支持多种格式如果你需要的话。try/except
处理无法正确解析的输入。 strptime
将提高一个 ValueError
如果格式不匹配,所以你使用 except
来处理它time_ok
标志设置为 True(并因此退出 while
循环)。代码:
import time
time_ok = False
while not time_ok:
arrival = raw_input('Arrival time? Example 8:30 \n')
if arrival == 'q':
print("Exiting.")
break
# Try to parse the entered time
try:
time_data = time.strptime(arrival, '%H:%M')
time_ok = True
# If the format doesn't match, print a warning
# and go back through the while loop
except ValueError:
print('Follow the example: 8:30 \n')
hours, minutes = time_data.tm_hour, time_data.tm_min
print(hours, minutes)
关于python - 如何在 Python 2.7 中使 raw_input 容差更健壮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24276348/
当我尝试使用 help() 获取有关 raw_input() 的一些函数信息时,我看到的是一些相当难以理解的内容: Help on function in module IPython.kernel
#Print out the menu print """ ############################################### # 1 - Introduction.
我编写了下面的Python代码(实际上这是我对《24小时自学Python》第80页练习的解决方案)。 这个想法是: table 周围有 4 个座位,服务员知道每个座位点了多少钱,输入这 4 个金额并得
有没有办法获取原始输入,将其记录到内存中,然后在子进程中调用它? x = raw_input("what is your fav. Color??") Subprocess.Popen("C://Wi
下面是我的代码: randomOne = int(str(raw_input('Enter the first number.'))) randomTwo = int(str(raw_input('E
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Python read a single character from the user 我正在使用下面的代
当我使用 raw_input 时,提示仅在用户输入后显示。像这样: number = raw_input("Enter a number:") 但是当我运行它时,没有任何反应,我输入一个数字,它显示提
有没有办法给用户一个原始输入,但如果在 x 时间内没有输入任何内容,则给出空响应 ("")?我想在脚本启动时给用户 10 秒的时间来输入选项,但如果时间到期(或者他们按回车键),只需继续执行脚本即可。
这是我现在拥有的 python 代码,如果用户回答是,我在循环问题时遇到问题。当用户回答“否”时,它仍然会问他们他们的问题是什么。这非常令人沮丧,而且由于我是初学者,我无法终生解决这个问题。这是我的代
如何在 python 中捕获管道文本。例如这样的东西 cat foo.py | ./foo.py 在 foo.py 中我有以下内容: if __name__ == "__main__": text
我想了解下面代码中 raw_input 的行为。我知道num将是字符串。无论我输入什么数字,它总是输入 elif部分即如果 num 为 5,则应转到 if numcheck: prin
首先,我在编程和 Python 方面还很陌生,所以提前致歉。 我正在尝试使用原始输入从用户那里获取输入,同时也在努力使我的代码更简单。 我原来的是: print "Please give the na
好的,所以我将其更改为: if input('a'): print ("You: Gimme a gun!") if input('b'): print ("You: Fin
当我运行程序时输入不会提示。我该如何解决? import sys def main(): # Initialize list and determine length string_l
我正在尝试制作一个密码强度测试器。密码需要至少有 4 个数字和 6 个字母,所以我需要找出用户在 raw_input 中输入了多少个。 最佳答案 text = "helloworld42" numbe
我最近开始学习 python 并且厌倦了在命令行(终端 mac os x)上运行它。我想要一个我可以在其中很好地编写代码并仅在部分代码完成后才运行该代码的环境,而不是像在 shell 中那样逐行运行。
基本上,有人可以通过在他们的 raw_input 中输入代码来破坏我的程序吗? i.e. ##instead of entering their name below, could they ente
我有一个使用 SocketServer 在 Python 中制作的简单服务器应用程序,它有一个非常原始的命令行类型输入系统。我的主要问题是,当服务器收到消息时,它将其打印到屏幕上。除了 raw_inp
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Show default value for editing on Python input possible? 我
尝试让我的脚本的一部分正常工作。此部分将让用户定义 Web 根目录,以便我们可以在该目录中搜索恶意软件。这是我正在研究的部分:我需要能够获取用户输入并将其作为变量添加到搜索功能中。我确信我的做法是错误
我是一名优秀的程序员,十分优秀!