gpt4 book ai didi

python - 艰难地学习 Python,练习 35 : placing a regular expression

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:19 25 4
gpt4 key购买 nike

在提到的练习中有这样的代码:

from sys import exit

def gold_room():
print "This room is full of gold. How much do you take?"

next = raw_input("> ")
if "0" in next or "1" in next:
how_much=int(next)
else:
dead("Man, learn to type a number.")

if how_much < 50:
print "Nice, you're not greedy, you win!"
exit (0)
else:
dead ("You greedy bastard!")

在第7行,我想用正则表达式[0-9]代替0或1,这样任何插入的数字都会传递到下一个if语句,所以我将其替换为:

    if next == [0-9]:

但是插入任何数字后我收到错误消息:

Man, learn to type a number.

我不明白出了什么问题。

感谢您的帮助

最佳答案

试试这个:

try:
how_much = int(next)
except ValueError:
dead("Man, learn to type a number.")

这会将您的输入转换为整数,除非 next 无法转换为整数。 Read this to learn more about errors and exceptions .

如果您坚持使用正则表达式,那么您绝对不应该这样做:

if re.match("\d+", next):
how_much = int(next)

请不要使用正则表达式。

关于python - 艰难地学习 Python,练习 35 : placing a regular expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21698266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com