鱼C论坛

 找回密码
 立即注册
查看: 1771|回复: 4

[已解决]本人小白一枚,有疑难问题请帮忙大神解答!

[复制链接]
发表于 2016-7-22 17:36:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想添加一个退出程序,可以结束返回到初始输入状态。另外输入1-5除外的任何数字、字母或者符号,可以提醒报错并返回重新选择输入。
不知道用什么方法可以实现?

result = input('''
加法(+) = 1
减法(-) = 2
乘法(*) = 3
除法(/) = 4
退出(x)= 5
请输入计算方式或退出:''')
num1 = int(input('请输入数字a:'))
num2 = int(input('请输入数字b:'))

if result == '1':
    print(num1,'+',num2,'=',num1 + num2)
elif result == '2':
    print(num1,'-',num2,'=',num1 - num2)
elif result == '3':
    print(num1,'*',num2,'=',num1 * num2)
elif result == '4':
    print(num1,'/',num2,'=',num1 / num2)
最佳答案
2016-7-23 01:14:47
如下修改即可,哪里有不懂的再问
  1. while(1):
  2.     result = input('''
  3.     加法(+) = 1
  4.     减法(-) = 2
  5.     乘法(*) = 3
  6.     除法(/) = 4
  7.     退出(x)= 5
  8.     请输入计算方式或退出:''')
  9.     if (result not in ['1','2','3','4','5']):
  10.         print("输入有误")
  11.         continue
  12.     if (result == '5'):
  13.         print("退出程序")
  14.         break
  15.    
  16.     num1 = int(input('请输入数字a:'))
  17.     num2 = int(input('请输入数字b:'))

  18.     if result == '1':
  19.         print(num1,'+',num2,'=',num1 + num2)
  20.     elif result == '2':
  21.         print(num1,'-',num2,'=',num1 - num2)
  22.     elif result == '3':
  23.         print(num1,'*',num2,'=',num1 * num2)
  24.     elif result == '4':
  25.         print(num1,'/',num2,'=',num1 / num2)



复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-23 01:14:47 | 显示全部楼层    本楼为最佳答案   
如下修改即可,哪里有不懂的再问
  1. while(1):
  2.     result = input('''
  3.     加法(+) = 1
  4.     减法(-) = 2
  5.     乘法(*) = 3
  6.     除法(/) = 4
  7.     退出(x)= 5
  8.     请输入计算方式或退出:''')
  9.     if (result not in ['1','2','3','4','5']):
  10.         print("输入有误")
  11.         continue
  12.     if (result == '5'):
  13.         print("退出程序")
  14.         break
  15.    
  16.     num1 = int(input('请输入数字a:'))
  17.     num2 = int(input('请输入数字b:'))

  18.     if result == '1':
  19.         print(num1,'+',num2,'=',num1 + num2)
  20.     elif result == '2':
  21.         print(num1,'-',num2,'=',num1 - num2)
  22.     elif result == '3':
  23.         print(num1,'*',num2,'=',num1 * num2)
  24.     elif result == '4':
  25.         print(num1,'/',num2,'=',num1 / num2)



复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-25 09:28:31 | 显示全部楼层
shuofxz 发表于 2016-7-23 01:14
如下修改即可,哪里有不懂的再问

谢谢大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-25 13:44:14 | 显示全部楼层
shuofxz 发表于 2016-7-23 01:14
如下修改即可,哪里有不懂的再问

不知道这个 while(1) 是什么作用?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-25 17:22:00 | 显示全部楼层
轻描淡写’ 发表于 2016-7-25 13:44
不知道这个 while(1) 是什么作用?

为了能够循环使用该程序
while(1)在正常情况下是一个死循环,也就是改程序会一直运行下去
只有输入5的时候,表示退出,在程序中会执行到break语句,也就是跳出循环,这样就达到了退出的目的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 02:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表