实验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进制表示。

 

posted @ 2021-04-22 22:17  玮光溢彩  阅读(105)  评论(1)    收藏  举报