实验3
# 基础操作练习1: 格式控制、列表解析、类型转换 x = list(range(10)) print('整数输出1: ', end = '') for i in x: print(i, end=' ') print('\n整数输出2: ', end = '') for i in x: print(f'{i:02d}', end = '-') # 指定每个整数输出宽度占两列,不足两列,左边补0 print('\n整数输出3: ', end = '') for i in x[:-1]: print(f'{i:02d}', end = '-') print(f'{x[-1]:02d}') print('\n字符输出1: ', end = '') y1 = [str(i) for i in range(10)] # 函数str()用于把其它类型对象转换成字符串对象 print('-'.join(y1)) print('字符输出2: ', end = '') y2 = [str(i).zfill(2) for i in range(10)] # 方法.zfill()用于对字符串进行格式化, 指定宽度为2列,不足左边补0 print('-'.join(y2))

# 基础操作练习2: range对象、列表解析、类型转换、字符串方法 print('整数列表: ') x = list(range(97, 97+26)) for i in x: print(i, end = ' ') print('\n字符列表1: ') lower_alpha = [chr(i) for i in range(97, 97+26)] # 函数chr()返回整数对应的字符串形式 for i in lower_alpha: print(i, end = ' ') print('\n字符列表2: ') upper_alpha = [i.upper() for i in lower_alpha] # 方法.upper()用于把小写字母转换成大写 for i in upper_alpha: print(i, end = ' ')

# 基础操作练习3: 标准库random, string import random import string print('用列表存储随机整数: ') ls = [random.randint(1, 100) for i in range(5)] print(ls) print('\n用集合存储随机整数: ') s = {random.randint(1,100) for i in range(5)} print(s) print('\n\n字母串: ', end = '') alpha = string.ascii_letters print(alpha) print(type(alpha)) print('\n数字串:', end = '') digits = string.digits print(digits) print(type(digits))

# 测试集合解析形式s = {random.randint(1,100) for i in range(5)}生成集合,len(s)一定是5吗?
import random
print('用集合存储随机整数: ')
while True:
s = {random.randint(1,100) for i in range(5)}
print(s)
if len(s) < 5:
break

已知fibonacci数列特性如下:从第3个数据项开始,是前两项之和。 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 编程输出fibonacci数列,直到数据项超过1000为止,并且,要求控制输出格式:每行输出5个,数据项对齐输出。

编写一个简单的猜日期程序。具体要求如下: 使用随机函数,生成1~31之间的一个随机整数作为5月的lucky day 用户有三次猜日期机会。根据用户输入的日期,提示用户猜的日期是猜中了,或是,早或晚。 如果用户已经猜中了,则无需打印输出luck day。 如果用户用光三次机会也没有猜中,那么,就打印输出用户在5月的lucky day。

编程实现一个十进制到二进制、八进制、十六进制的转换程序。
要求:
不使用Python标准库提供的进制转换工具,根据进制转换计算规则自行设计算法并实现。
从键盘输入十进制数据x和转换的进制n(n取2或8或16),打印输出x的n进制表示。

浙公网安备 33010602011771号