我的Python代码试图获取用户提供的输入并将其返回,但是在第5行中,我希望用户只能写m或f,而不能写其他任何东西,因此我查找了python是否有一个char数据类型类似于c ++,但事实并非如此,我一直在寻找,人们说您可以将字符串用作数据类型,但我不知道如何实现,所以希望大家能给我启发。
这里是代码的链接,重要部分是4和5。所写的只是一个猜测。
#Input your information
name = input("Enter your Name: ")
surname = input("Enter Surname: ")
str(m,f)
gender = str(input("What is your gender?(m,f)")
height = input("Enter your Height: ")
#Print your information
print("\n")
print("Printing Your Details")
print("Name", "Surname", "Age","Gender","Height")
print( name, surname, age, gender, height)
答案 0 :(得分:2)
如果您希望用户进行多个“尝试”,请在循环内的其他答案中使用“ if”条件,例如while True:
循环
while True:
gender = input("What is your gender?(m,f)")
if gender in ("m","f"):
break
print("Invalid gender input!")
print("Gender is",gender)
答案 1 :(得分:1)
您想对输入进行条件处理:如果输入是某种东西,那么没问题<style name="ShapeOverlay.Fab" parent="">
<item name="cornerFamily">cut</item>
<item name="cornerSize">48%</item>
</style>
如果if not then... That's why you can use
性别statement. just ask if
f is
m`
or
在此代码中,我将“ m”和“ f”放入列表中,并询问性别(用户响应)是否在列表中,表示它是m还是f
编辑:如评论中所建议,一个更好的版本将是:
if gender is in ['m', 'f']
# Valid Answer
else
# Not Valid Answer
将if gender.lower() in ['m', 'f']
# Valid Answer
else
# Not Valid Answer
更改为小写,然后将其与'm'或'f'进行比较,只是为了确保您不希望区分大小写
答案 2 :(得分:0)
只需检查输入条件:
gender = input("What is your gender?(m,f)")
if gender not in ["m", "f"]:
print("Invalid gender input!")
答案 3 :(得分:0)
如果您要继续问选择题,可以使用以下特殊方法:
def choices(message, m):
print(message)
print('Choices:')
for i in m:
print(' -', i)
while True:
chosen = input('Input Here: ')
if chosen in m:
break
print('Invalid.')
print('Great choice:', chosen, '\n')
return chosen
gender = choices('What is your gender?', ['m', 'f'])
color = choices('What is your favorite color?', ['red', 'green', 'blue'])
foobar = choices('Which do you use more?', ['foo', 'bar'])
我也出于艺术上的自由,要求选择喜欢的颜色。