关于接收用户输入input()的问题,脑子短路,想不出来
比如:msg = ''
while msg != 'quit':
msg = input("请输入你的年龄:")
msg = int(msg)
if msg < 3:
print("宝宝")
elif msg >= 3 and msg <= 12:
print('小朋友')
else:
print("青少年")
如果只能是 在 while 循环中使用条件测试来结束循环,不使用一个标志变量和break
要怎么做呢.?想不出来..
这个代码的问题是,循环判断没问题,但一输入quit就报数值错误,这个我也知道是为啥..
msg转成整数比较完之后,怎么才能再接收字符串呢?
msg = ''
while msg != 'quit':
msg = input("请输入你的年龄:")
if msg.isdigit():
if int(msg) < 3:
print("宝宝")
elif 3 <= int(msg) <= 12:
print('小朋友')
else:
print("青少年") 以下方案有点鸡肋,看看就好,用的是年龄不是负数
msg = ''
year = 0
while year >= 0:
msg = input("请输入你的年龄:")
year = int(msg)
if 0 <= year and year < 3:
print("宝宝")
elif year >= 3 and year <= 12:
print('小朋友')
elif year > 12:
print("青少年") 如果我没理解错的话你需要以下的东西,第005讲:闲聊之Python的数据类型 | 课后测试题及答案,这里面讲过的:
s 为字符串
s.isalnum()所有字符都是数字或者字母,为真返回 True,否则返回 False。
s.isalpha() 所有字符都是字母,为真返回 True,否则返回 False。
s.isdigit() 所有字符都是数字,为真返回 True,否则返回 False。
s.islower() 所有字符都是小写,为真返回 True,否则返回 False。
s.isupper() 所有字符都是大写,为真返回 True,否则返回 False。
s.istitle() 所有单词都是首字母大写,为真返回 True,否则返回 False。
s.isspace() 所有字符都是空白字符,为真返回 True,否则返回 False。
例如:
>>> s = 'I LOVE FISHC'
>>> s.isupper()
>>> True
版主的方法是最好的 因为,你强转int类型了,肯定报错,quit不能转换成int类型,所以保存
页:
[1]