1.输入一个十进制整数,分别输出其二进制、
八进制和
16
进制字符串。
# 作业3.1
decimal_num = int(input("请输入一个十进制整数:"))
binary_num = bin(decimal_num)
octal_num = oct(decimal_num)
hexadecimal_num = hex(decimal_num)
print(f"二进制表示为: {binary_num}")
print(f"八进制表示为: {octal_num}")
print(f"十六进制表示为: {hexadecimal_num}")
作业
3.2
•
输入一个字符串,按照如下要求分别采用切片、
循环
+
索引方法获取子串:
① 从第
2
个字符开始,正向间隔
3
个字符获取;
② 从倒数第
2
个字符开始,反向间隔
3
个字符获取。
input_str = input("请输入一个字符串:")
# 切片方法
slice_substring1 = input_str[1::3]
slice_substring2 = input_str[-2::-3]
print(f"切片方法获取的子串1: {slice_substring1}")
print(f"切片方法获取的子串2: {slice_substring2}")
# 循环+索引方法
loop_substring1 = ''
loop_substring2 = ''
for i in range(1, len(input_str), 3):
loop_substring1 += input_str[i]
for i in range(-2, -len(input_str)-1, -3):
loop_substring2 += input_str[i]
print(f"循环+索引方法获取的子串1: {loop_substring1}")
print(f"循环+索引方法获取的子串2: {loop_substring2}")
作业
3.3
•
string = ‘My moral standing is:0.98765’
,
将其中的数字字符串转换成浮点数并输出。
提醒:找到冒号
:
位置,获取其之后的子串。
# 作业3.3
string = 'My moral standing is:0.98765'
colon_index = string.find(':')
number_str = string[colon_index + 1:]
float_number = float(number_str)
print(f"转换后的浮点数为:{float_number}")
作业
3.4
•
任意输入
2
个英文单词,按字典顺序输出。
# 作业3.4
word1 = input("请输入第一个英文单词:")
word2 = input("请输入第二个英文单词:")
if word1 < word2:
print(word1, word2)
else:
print(word2, word1)
作业
3.5
•
编写一个磅与千克互换的程序(数据输出时,
保留
1
位小数位)。
提示:磅与千克的关系为,千克数
=
磅数
*0.454
def pounds_to_kg(pounds):
return round(pounds * 0.454, 1)
def kg_to_pounds(kg):
return round(kg / 0.454, 1)
choice = input("请输入选择值(1 <- 输入磅数,2 <- 输入千克数):,")
if choice == '1':
pounds = float(input("请输入磅数:"))
kilograms = pounds_to_kg(pounds)
print(f"{pounds} 磅等于 {kilograms} 千克")
elif choice == '2':
kilograms = float(input("请输入千克数:"))
pounds = kg_to_pounds(kilograms)
print(f"{kilograms} 千克等于 {pounds} 磅")
作业
3.6
•
修改
作业
3.6
要求:程序能多次接收用户输入的数据,进行磅与
千克的互换
(千克数
=
磅数
*0.454
,数据输出时保留
1
位小
数位)
;直到用户输入的数据为
0
时,程序结束。
def pounds_to_kg(pounds):
return round(pounds * 0.454, 1)
def kg_to_pounds(kg):
return round(kg / 0.454, 1)
while True
choice = input("请输入选择值(1 <- 输入磅数,2 <- 输入千克数):,0 <- 结束程序 ")
if choice == '1':
pounds = float(input("请输入磅数:"))
kilograms = pounds_to_kg(pounds)
print(f"{pounds} 磅等于 {kilograms} 千克")
elif choice == '2':
kilograms = float(input("请输入千克数:"))
pounds = kg_to_pounds(kilograms)
print(f"{kilograms} 千克等于 {pounds} 磅")
elif choice == '0':
print("程序结束。")
break
else:
print("无效输入,请重新输入。")
作业3.7
•
输入一个整数列表,求取其中的最大值、
最小值和所有数据的平均值。
# 作业3.7
num_list = list(map(int, input("请输入一个整数列表(以空格分隔):").split()))
max_num = max(num_list)
min_num = min(num_list)
average = sum(num_list) / len(num_list)
print(f"最大值为:{max_num}")
print(f"最小值为:{min_num}")
print(f"平均值为:{average}")
num_list = eval(input("请输入一个整数列表,以逗号分隔:"))
if all(isinstance(num, int) for num in num_list):
max_num = max(num_list)
min_num = min(num_list)
average = sum(num_list) / len(num_list)
print(f"输入的整数列表为:{num_list}")
print(f"最大值为:{max_num}")
print(f"最小值为:{min_num}")
print(f"平均值为:{average}")
else:
print("输入的列表中包含非整数元素,请重新输入整数列表。")
首先使用 eval
函数将输入的字符串转换为列表,然后检查列表中的元素是否都为整数。
如果是整数列表,则计算其中的最大值、最小值和平均值,并输出结果。