一、编程题
1、36.某快递公司对于邮寄的包裹有尺寸要求,必须满足以下条件:
每件包裹的长、宽、高之和须小于或等于200厘米,且任意一边长度必须小于或等于80厘米。(假设所有包裹都是长方体)
编写一个重复执行的程序,可以实现自动判断包裹是否符合要求。
具体要求如下:
(1)用户以厘米为单位按顺序分别输入包裹的长、宽、高(用户只输入大于零的数字,不输入长度单位,可以输入小数;分多次输入还是一次输入不做要求);
(2)程序自动判断用户输入的包裹尺寸是否满足此快递公司的要求;
(3)如果满足要求,就输出"可以邮寄";
(4)如果不满足要求,就输出"不可以邮寄";
(5)重复以上操作。
参考答案:br />为了实现自动判断包裹是否符合快递公司要求,我们可以编写一个重复执行的程序。具体实现如下:```pythonwhile True:length = float(input("请输入包裹的长度(厘米):"))width = float(input("请输入包裹的宽度(厘米):"))height = float(input("请输入包裹的高度(厘米):"))if length < 0 or width < 0 or height < 0:print("输入错误,长度、宽度和高度必须大于零。")elif length + width + height > 200 or length > 80 or width > 80 or height > 80:print("不可以邮寄")else:print("可以邮寄")```
解析:【喵呜刷题小喵解析】
在这个程序中,我们使用了一个无限循环(`while True`),这样程序会不断重复执行,直到用户选择停止。
在每次循环中,程序会依次提示用户输入包裹的长度、宽度和高度,并将输入的值转换为浮点数(`float`)。这样可以确保用户输入的是数字,并且可以接受小数输入。
然后,程序会检查输入的长度、宽度和高度是否都大于零。如果任何一个值小于零,程序会输出错误信息,并继续下一次循环。
如果输入的长度、宽度和高度都大于零,程序会计算它们的和,并检查是否超过200厘米。同时,程序还会检查长度、宽度和高度是否超过80厘米。如果任何一个条件不满足,程序会输出"不可以邮寄",并继续下一次循环。
如果输入的长度、宽度和高度都满足要求,程序会输出"可以邮寄",并继续下一次循环。
这样,程序就可以实现自动判断包裹是否符合快递公司要求的功能,并且会不断重复执行,直到用户选择停止。
2、37.编写程序帮老师对英语试卷中的英文字母、数字和其他字符(注意:包括空格)进行分类并统计每种字符的数量。
输入样例:
Welcome to 2023~!
输出样例:
字母:Welcometo,共9个
数字:2023,共4个
其它字符: ~!,共6个
参考答案:br />为了完成这个任务,我们可以编写一个Python程序。这个程序将读取输入的字符串,然后遍历每个字符,统计字母、数字和其他字符的数量。```pythondef count_chars(input_str):letter_count = 0digit_count = 0other_count = 0for char in input_str:if char.isalpha():letter_count += 1elif char.isdigit():digit_count += 1else:other_count += 1print(f"字母:input_str[:input_str.isalpha()],共letter_count个")print(f"数字:input_str[input_str.isalpha():input_str.isalnum()],共digit_count个")print(f"其它字符: input_str[input_str.isalnum():],共other_count个")# 测试函数input_str = "Welcome to 2023~!"count_chars(input_str)```
解析:【喵呜刷题小喵解析】
这个程序首先定义了一个函数`count_chars`,它接受一个字符串作为输入。然后,它初始化三个计数器:`letter_count`用于统计字母的数量,`digit_count`用于统计数字的数量,`other_count`用于统计其他字符的数量。
接下来,程序遍历输入字符串中的每个字符。如果字符是字母(通过`isalpha()`方法检查),则增加`letter_count`计数器的值。如果字符是数字(通过`isdigit()`方法检查),则增加`digit_count`计数器的值。否则,如果字符既不是字母也不是数字,那么它会被视为其他字符,并增加`other_count`计数器的值。
最后,程序使用`print`函数输出统计结果。在输出中,我们使用了字符串切片来只打印每种类型的字符。例如,`input_str[:input_str.isalpha()]`将只打印字符串中的字母部分。
注意,这个程序假设输入字符串只包含ASCII字符。如果输入字符串包含非ASCII字符,那么`isalpha()`和`isdigit()`方法可能无法正确工作。如果需要处理非ASCII字符,那么可能需要使用更复杂的方法来确定字符的类型。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!