【发布时间】:2022-12-18 07:35:49
【问题描述】:
我是这个编程方面的初级程序员(或者我认为),所以我对术语使用的了解相当低。所以说。我在 Python 中执行此操作(是的,这应该很容易,因为它是 Python,但对我来说并不容易)。我想知道,在使用输入函数时,是否有更简单的方法来返回合法字符串而不表示为整数的字符串?因为当我要求用户输入他们的名字并且他们输入了一个数字(无论出于何种原因......必须是狼疮)时,数字输入仍然被接受为字符串值。我想接受字符串(实际单词)而不是数字(整数或浮点数),所以当输入数值时,它会打印一条消息要求重试,然后将用户返回到输入函数以输入正确的值(简单的东西,对吧???)。我还添加了年龄、身高(还没有为这两个做任何事情)和性别(性别选项只有男性和女性)的条目。至于性别部分,我创建了一个函数来输入男性或女性,并通过返回各自性别符号的值来关联这两种性别。请原谅我的语法。 Anyhoo,一分钱你的想法?附言我的代码中可能有很多不必要的混乱,所以请原谅我的混乱。我欢迎批评。
代码如下:
i = 'Name'
j = 'Age'
k = 'Height'
l = 'Sex'
def anno_name(input_str: str ) -> str:
if input_str.isalpha():
return
#print(input_str)
else:
print("Entry invalid. Name can neither be numeric nor left empty. Please try again.\n")
return anno_name(input("Enter your name: "))
aname = input(f'{i}\nEnter your name: \n')
anno_name(aname)
print(input(f'\n{j}\nEnter age: \n'))
print(input(f'\n{k}\nEnter height: \n'))
def sym_g():
gen = input(f'\n{l}\nEnter sex: \n')
if gen == 'female':
return 'female \f'
elif gen == 'male':
return ('male \v')
else:
if gen != 'female' or 'male':
print("Entry invalid. Please try again.\n")
return sym_g()#('Invalid value. Please try again...')
sym_gen = sym_g()
print(sym_gen)
【问题讨论】:
标签: python string function integer annotations