|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 GrantWard 于 2017-2-14 16:48 编辑
以下是我写的代码,功能是根据用户输入的数字来判断要加载的问题
- #encoding: utf-8
- class Practices(object):
- '''
- 第二讲动动手
- '''
- def practice0(self, name):
- '''
- 编写程序,要求用户输入姓名,并打印“你好 + 姓名”
- '''
- print('你好, ' + name)
- def practice1(self, num):
- '''
- 要求用户输入1到100之间数字进行判断,输入符合要求打印'你妹好漂亮',不符合要求输出'你大爷好丑'
- '''
- if 1 <= num <= 100:
- print('你妹好漂亮^_^')
- else:
- print('你大爷好丑T_T')
- def main():
- '''
- main 函数
- '''
- p = Practices()
- temp = input('请输入要运行的题目: ')
- if temp.isdigit():
- num = int(temp)
- if num > 0:
- print(type(num))
- user_input = input('请输入您的姓名: ')
- p.practice0(user_input)
- else:
- temp = input('请输入1到100之间的数字: ')
- if temp.isdigit():
- user_input = int(temp)
- p.practice1(user_input)
- else:
- print('请输入数字')
- else:
- print('请输入数字')
- if __name__ == '__main__':
- main()
复制代码
在终端中输入正数程序能正常运行,如果输入负数程序就会走请“输入数字”判断,请问我该怎么修改呢?或者说终端怎么正确输入负数
****************************************************************************************************************************
原帖以解决,参照各位大佬的回复修正bug后新代码如下:
- #encoding: utf-8
- class Practices(object):
- '''
- 第二讲动动手
- '''
- def practice0(self, name):
- '''
- 编写程序,要求用户输入姓名,并打印“你好 + 姓名”
- '''
- print('你好, ' + name)
- def practice1(self, num):
- '''
- 要求用户输入1到100之间数字进行判断,输入符合要求打印'你妹好漂亮',不符合要求输出'你大爷好丑'
- '''
- if 1 <= num <= 100:
- print('你妹好漂亮^_^')
- else:
- print('你大爷好丑T_T')
- def main():
- '''
- main 函数
- '''
- p = Practices()
- while True:
- temp = input('请输入要运行的题目: ')
- try:
- num = int(temp)
- except ValueError:
- ------------最新修正部分--------------
- try:
- num = float(temp)
- except ValueError:
- break
- -------------最新修正部分-------------
- if num > 0:
- user_input = input('请输入您的姓名: ')
- p.practice0(user_input)
- else:
- temps = input('请输入1到100之间的数字: ')
- try:
- number = int(temps)
- p.practice1(number)
- except ValueError:
- print('请输入数字')
- if __name__ == '__main__':
- main()
复制代码 |
|