您如何从输入中过滤字母和符号?
How do you filter letters and symbols from inputs?
我是 python 的新手,我有一项任务是进行随机数猜测。我一切正常,但我想过滤掉破坏代码的参数,比如什么都不输入或输入字母。
这是代码。
#import random from python libraries
from random import randint
#generate random integer
comp_Num = randint(1, 1000)
#creates an infinite loop
while True:
#allow user to input number int() turns the str into an int
user_Num = int(input("Guess a number between 1 and 1000 \n" ))
#if user number bigger than computer number
if user_Num > comp_Num:
print("Too high! Guess again")
else:
#if user number smaller than computer number
if user_Num < comp_Num:
print("Too low! Guess again")
#if user number equal to computer number
if user_Num == comp_Num:
print("Well done!")
#end loop
break
抱歉问题有点简单!感谢您的帮助!
有两种方法可以解决这个问题:
- 您阻止了异常。在您的情况下,可以使用
.isdigit()
字符串方法来完成,如果字符串中的所有字符都是数字并且至少有一个字符,则 returns True
否则 False
.
- 你handle the exception with try-except.
我是 python 的新手,我有一项任务是进行随机数猜测。我一切正常,但我想过滤掉破坏代码的参数,比如什么都不输入或输入字母。
这是代码。
#import random from python libraries
from random import randint
#generate random integer
comp_Num = randint(1, 1000)
#creates an infinite loop
while True:
#allow user to input number int() turns the str into an int
user_Num = int(input("Guess a number between 1 and 1000 \n" ))
#if user number bigger than computer number
if user_Num > comp_Num:
print("Too high! Guess again")
else:
#if user number smaller than computer number
if user_Num < comp_Num:
print("Too low! Guess again")
#if user number equal to computer number
if user_Num == comp_Num:
print("Well done!")
#end loop
break
抱歉问题有点简单!感谢您的帮助!
有两种方法可以解决这个问题:
- 您阻止了异常。在您的情况下,可以使用
.isdigit()
字符串方法来完成,如果字符串中的所有字符都是数字并且至少有一个字符,则 returnsTrue
否则False
. - 你handle the exception with try-except.