1.根据华氏和摄氏温度的转换公式,c=(F-32)/1.8,F=C*1.8+32.请用异常处理机制,编程处理接受用户的任何输入,进行温度转换。
2.设计猜数字游戏,产生随机数,如果输入非整数,抛出异常;如果输入的数字比随机数小,输出“您输入的数字太小了!”;如果输入的数字比随机数大,输出“您输入的数字太大了!”。请用异常处理,使其能够接受并处理用户的任何输入。
3.从键盘输入3个整数,放入列表中,然后打印输出。如果输入数据不为整数,抛出异常,显示“请输入整数”;如果输入参数不足3个,抛出异常,显示“请输入3个整数”。
求多种解,python
Python中可以使用以下几种方式来处理异常:
try-except语句:可以捕获异常并进行处理。
try-except-else语句:可以在没有发生异常的情况下执行一些操作。
try-except-finally语句:无论是否发生异常,都会执行finally语句中的代码。
raise语句:可以手动抛出异常。
assert语句:可以用来检查某个条件是否满足,如果不满足则抛出异常。
这些方式都可以用来处理异常,选择哪种方式取决于具体的情况。通常情况下,使用try-except语句即可满足需求。如果需要在没有异常的情况下执行一些操作,可以使用try-except-else语句;如果需要无论是否发生异常都执行一些操作,可以使用try-except-finally语句;如果需要手动抛出异常,可以使用raise语句;如果需要检查某个条件是否满足,可以使用assert语句。以下为使用try-except语句来处理异常的示例。
1、温度转换
while True:
try:
temp = input("请输入温度值及单位(例如:32C或者90F):")
degree = int(temp[:-1]) # 获取温度值
unit = temp[-1] # 获取温度单位
if unit.upper() == "C":
result = degree * 1.8 + 32
print("转换后的温度为:%.2fF" % result)
elif unit.upper() == "F":
result = (degree - 32) / 1.8
print("转换后的温度为:%.2fC" % result)
else:
print("输入格式有误,请输入正确的温度值及单位!")
except:
print("输入格式有误,请输入正确的温度值及单位!")
2、猜数
import random
rand_num = random.randint(1, 100) # 产生一个1到100的随机数
while True:
try:
num = int(input("请输入一个整数:"))
if num < rand_num:
print("您输入的数字太小了!")
elif num > rand_num:
print("您输入的数字太大了!")
else:
print("恭喜您,猜对了!")
break
except:
print("输入有误,请输入一个整数!")
3、输入3个整数:
num_list = []
try:
num_str = input("请输入3个整数(用空格或逗号分隔):")
num_str_list = num_str.replace(",", " ").split() # 将逗号替换为空格,然后用空格分隔
if len(num_str_list) != 3:
raise ValueError("请输入3个整数")
for num in num_str_list:
if not num.isdigit(): # 判断输入是否为整数
raise ValueError("请输入整数")
num_list.append(int(num))
except ValueError as e:
print(e)
else:
print(num_list)
def convert_temperature():
try:
temperature = input("请输入温度:")
if temperature.endswith('F') or temperature.endswith('f'):
celsius = (float(temperature[:-1]) - 32) / 1.8
print("转换后的温度为:{:.2f}℃".format(celsius))
elif temperature.endswith('C') or temperature.endswith('c'):
fahrenheit = float(temperature[:-1]) * 1.8 + 32
print("转换后的温度为:{:.2f}℉".format(fahrenheit))
else:
print("无法识别的温度格式!")
except ValueError:
print("输入的温度格式有误,请输入数字+温度单位(如32C)!")
import random
def guess_number():
number = random.randint(1, 100)
while True:
try:
guess = int(input("请输入一个1-100之间的整数:"))
if guess < 1 or guess > 100:
print("输入的数字超出范围,请重新输入!")
elif guess < number:
print("猜的数字太小了,请继续猜!")
elif guess > number:
print("猜的数字太大了,请继续猜!")
else:
print("恭喜你,猜对了!")
break
except ValueError:
print("输入的内容不是整数,请重新输入!")
然后直接调用两个函数即可。