利用for循环语句输出1+2+3+…+100的值

  1. a=0
  2. for i in range(0,100):
  3. a=a+i
  4. print(a)

出现错误
输入for i in range(0,100)中结果输出不等于5050
分析错误
range中的(0,100)不是1~100相加而是1~99相加
解决办法
把100改成101

  1. a=0
  2. for i in range(0,101):
  3. a=a+i
  4. print(a)

根据华氏和摄氏度的定义,两个温度体系都以1标准大气压下的水的结冰点和沸点为温度区边界,二者的转换公式为:

C=(F-32)/32
F=C*1.8+32
请设计一个程序首先让用户选择转换模式(C转F,还是F转C),选择完毕后,将温度数据进行转换并输出。

  1. print("请选择转换模式")
  2. a=input()
  3. if a in"C转F":
  4. print("请输入温度")
  5. b=input()
  6. b=float(b)
  7. b=b*1.8+32
  8. print("转换后的温度为",'b','℃')
  9. elif a in "F转C":
  10. print("请输入温度")
  11. c = input()
  12. c = float(c)
  13. c=(c-32)/1.8
  14. c=int(c)
  15. print("转换后的温度为",'c','℉')

报错

输出结果中不包含输出的温度结果
2345截图20210211190425.png

问题分析

输出结果变量时,加入单引号,导致结果输出为字符串

解决办法

(1)

  1. print("请选择转换模式")
  2. a=input()
  3. if a in"C转F":
  4. print("请输入温度")
  5. b=input()
  6. b=float(b)
  7. b=b*1.8+32
  8. print("转换后的温度为",b,'℃')
  9. elif a in "F转C":
  10. print("请输入温度")
  11. c = input()
  12. c = float(c)
  13. c=(c-32)/1.8
  14. c=int(c)
  15. print("转换后的温度为",c,'℉')

(2)

  1. print('请输入转换模式')
  2. s=str(input())
  3. if s in"C转F":
  4. print('请输入温度','℃')
  5. m=float(input())
  6. m=m*1.8+32
  7. print('转换后的温度为',m,'℉')
  8. elif s in"F转C":
  9. print('请输入温度','°F')
  10. n=float(input())
  11. n=(n-32)/32
  12. print('转换后的温度',n,'℃')
  13. else:
  14. print('输入模式有误')

(3)

  1. s=str(print('请输入转换模式'))
  2. s=input()
  3. if s =="C转F":
  4. print('请输入温度')
  5. m=float(input())
  6. m=m=m*1.8+32
  7. print('转换后的温度为',m,'℉')
  8. elif s =="F转C":
  9. print('请输入温度', '°F')
  10. n = float(input())
  11. n = (n - 32) / 32
  12. print('转换后的温度', n, '℃')
  13. #else:
  14. print('输入模式有误')