Crossin的编程教室
标题:
python的循环问题,想做一个摄氏度华氏度互换程序
[打印本页]
作者:
ericvvp
时间:
2020-12-11 09:26
标题:
python的循环问题,想做一个摄氏度华氏度互换程序
python3.9
想做一个摄氏度和华氏度互转程序,
如果单位输错可以重输(做一个while循环)
pycham提示我13行elif有SyntaxError: invalid syntax的错误
希望有大神帮帮忙,看一下我在互转那里就出现问题了,我写了三个版本的都运行不来,还没写到while部分就不行了。
涉及的公式:
华氏度=32+摄氏度×1.8
摄氏度=(华氏度-32)÷1.8
源码部分:
https://www.verybin.com/?fecb9707efedf695#daybbguIJNLWe7rV/cgrD8Eot1xywWoxEmFZbSjP5MM=
#python3.9
"""
摄氏度和华氏度互转
做个单位输错可以重输的循环
verson: 0.1
"""
value = int(input('请输入数据: '))
unit = input('单位: ')
degree = (value-32)//1.8
fahrenheit = (value*1.8)+32
if unit == 'c': #摄氏度转华氏度
print('%.2f摄氏度 = %.2f华氏度' % (degree, fahrenheit)
elif unit == 'f': #f转c
print('%.2f华氏度 = %.2f摄氏度' % (fahrenheit, degree)
"""
摄氏度和华氏度互转
做个单位输错可以重输的循环
verson: 0.2
"""
# value = int(input('请输入数据: '))
# unit = input('单位: ')
# if unit == 'c': #摄氏度转华氏度
# print('%.2f摄氏度 = %.2f华氏度' % (value, (value-32)/1.8))
# elif unit == 'f':
# print('%.2f华氏度 = %.2f摄氏度' % (value, (value*1.8)+32))
"""
摄氏度和华氏度互转
做个单位输错可以重输的循环
verson: 0.3
"""
value = int(input('请输入数据: '))
unit = input('单位: ')
if unit == 'c': #摄氏度转华氏度
print('%.f摄氏度 = %.f华氏度' % (value, (value-32)//18))
elif unit == 'f': #f转c
print('%.f华氏度 = %.f摄氏度' % (value, (value*1.8)+32))
else:
print(input('重新输入单位:'))
复制代码
作者:
crossin先生
时间:
2020-12-11 13:00
你12行和14行都少半个括号
作者:
ericvvp
时间:
2020-12-12 03:47
本帖最后由 ericvvp 于 2020-12-12 04:23 编辑
crossin先生 发表于 2020-12-11 13:00
你12行和14行都少半个括号
改后:
"""
摄氏度和华氏度互转
如果单位输错可以重输
verson: 0.4
"""
value = int(input('请输入数据: '))
unit = input('单位: ')
degree = (value-32)/1.8
fahrenheit = (value*1.8)+32
if unit == 'c': #摄氏度转华氏度
print('%.f摄氏度 = %.1f华氏度' % (value, fahrenheit))
elif unit == 'f': #f转c
print('%.f华氏度 = %.1f摄氏度' % (value, degree))
else:
print('无法识别数据,程序结束')
复制代码
不过我想用while循环做一个,假如单位输错可以跳回去重新执行输入单位和数据的程序,感谢大佬答疑
作者:
FERRYMAN
时间:
2021-2-9 17:07
tem = input('请输入温度(数字):') #此时tem为字符串形式
unit = input("单位:('°C'或'°F')")
danwei = False
while danwei == False:
print('如果单位输入错误,请输入"quit"以重新输入,无误请按回车')
a = input()
if a == 'quit':
unit = input('输入新单位:')
else:
danwei = True
if unit == '°C':
print('%s摄氏度 = %s华氏度' % (tem, str((float(tem)*1.8)+32)))
elif unit == '°F':
print('%s华氏度 = %s摄氏度' % (tem, str((float(tem)-32)/1.8)))
#通过形式的转换可以避免因为tem的输入为浮点数而出错
复制代码
看到之后有点灵感,就写了一下。
可能楼主看不到。
但是给自己练习一下肯定是好的
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5