实验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()用于对字符串进行格式化,指定宽度为两列,不足左边补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

random.randint(1,100)生成的随机整数范围是[1,100]包括100 range(1,100)范围是[1,100)不包括100
使用s = {random.randint(1,100) for i in range(5)} len(s)不一定是5,因为集合里的元素不能重复,而生成的随机数可能是重复的,所有len(s)不一定是5
x = 0 y = 1 i = [0,1] while max(i) <1000: z = i[x] + i[y] i.append(z) x = x + 1 y = y + 1 if max(i) > 1000: i.remove(max(i)) c = 0 for m in i: print(f'{m:>8}',end = '') c =c + 1 if c % 5 == 0: print(end = '\n')

import random
print('猜猜2021年5月哪一天会是你的lucky day')
x = int(input('你有三次机会,猜吧(1~31):'))
y = random.randint(1,31)
if x == y:
exit()
if x > y:
print('猜晚啦,你的lucky day在前面,前面')
z = int(input('再猜再猜:'))
if z == y:
exit()
if z > y:
print('猜晚啦,你的lucky day在前面,前面')
u = int(input('再猜再猜:'))
if u == y:
exit()
if u > y:
print('猜晚啦,你的lucky day在前面,前面')
print('次数用完啦')
print(f'2021年5月你的lucky day是{y}号')
exit()
if u < y:
print('猜早啦,你的lucky day还早呢')
print('次数用完啦')
print(f'2021年5月你的lucky day是{y}号')
exit()
if x < y:
print('猜早啦,你的lucky day还早呢')
a2 = int(input('再猜再猜:'))
if a2 == y:
exit()
if a2 > y:
print('猜晚啦,你的lucky day在前面,前面')
a3 = int(input('再猜再猜:'))
if a3 == y:
exit()
if a3 > y:
print('猜晚啦,你的lucky day在前面,前面')
print('次数用完啦')
print(f'2021年5月你的lucky day是{y}号')
exit()
if a3 < y:
print('猜早啦,你的lucky day还早呢')
print('次数用完啦')
print(f'2021年5月你的lucky day是{y}号')
exit()![]()
n,x = eval(input('输入十进制整数x和要转换的进制n(2或8或16):'))
a = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','F']
b = []
while True:
s = n // x
y = n % x
b = b + [y]
if s==0:
break
n = s
for i in b[::-1]:
print(a[i],end ='')





浙公网安备 33010602011771号