|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. 编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”
- num1 = input('输入一个1到100的正整数:')
- while True:
- if not num1.isdigit():
- print('输入不合法,请重新输入数字:',)
- num1 = input()
- else:
- num1=int(num1)
- if 1<= num1 <= 100:
- print ('真漂亮')
- break
- else:
- print ('你真丑')
复制代码
如果我直接num1= int(input('输入一个1到100的正整数:')) 而不使用num1.isdigit() 那么我输入‘a’,将会报错,我现在不想让他报错,只希望能输出我的提示信息,以上代码输入字符串,数字1-100 返回正常,但输入数字 0 或者101以上数字,就直接报错了,什么原因?
============= RESTART: C:/Users/Desktop/Python/第一课后作业.py =============
输入一个1到100的正整数:1
真漂亮
>>>
============= RESTART: C:/Users/Desktop/Python/第一课后作业.py =============
输入一个1到100的正整数:100
真漂亮
>>>
============= RESTART: C:/Users/Desktop/Python/第一课后作业.py =============
输入一个1到100的正整数:-2
输入不合法,请重新输入数字:
-6
输入不合法,请重新输入数字:
-9
输入不合法,请重新输入数字:
-1001
输入不合法,请重新输入数字:
55
真漂亮
>>>
============= RESTART: C:/Users/Desktop/Python/第一课后作业.py =============
输入一个1到100的正整数:0
你真丑
Traceback (most recent call last):
File "C:/Users/Fantao/Desktop/Python/第一课后作业.py", line 3, in <module>
if not num1.isdigit():
AttributeError: 'int' object has no attribute 'isdigit'
>>>
============= RESTART: C:/Users/Desktop/Python/第一课后作业.py =============
输入一个1到100的正整数:101
你真丑
Traceback (most recent call last):
File "C:/Users/Desktop/Python/第一课后作业.py", line 3, in <module>
if not num1.isdigit():
AttributeError: 'int' object has no attribute 'isdigit'
>>>
print ('你真丑')后加一行break,否则num1已经变成了整数,再次循环回到isdigit()就报错了。
|
|