1-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()用于对字符串进行格式化,
print('-'.join(y2))
![]()
1—2
# 基础操作练习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 = ' ')
![]()
1-3
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))
![]()
1-4
# 测试集合解析形式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
![]()
2
# 提高一下可能的代码复用率?然后让同学难以理解我的码风?
def nterms(n):
terms=[]
a, b = 1, 1
for i in range(n):
a, b = b, a+b
terms.append(a)
i=i
#看那个变量没用到的warning不爽所以加了一行
return terms
# 别人博客里借鉴的极简迭代法,我想不到
def output(array):
for n in range(len(array)):
print('{:>5}'.format(array[n]),end=('' if (n+1)%4!=0 else '\n'))
#忍不住还是压行了
if __name__=="__main__":
output(nterms(18))
pass
![]()
3
import random
lucky_day=random.randint(1,31)
print(lucky_day)
print("Guess Ur lucky day of May")
print("You have 3 chances, have a try:",end='')
i=int(input())
flag=False
n=1
while n<4:
if i<lucky_day:
n+=1
i=int(input("Too early, try again"))
continue
elif i>lucky_day:
n+=1
i=int(input("Too late, try again"))
continue
elif i == lucky_day:
flag=True
break
print("Chances used out"if not flag else 'Good, U R right')
print(f"Your lucky day is {lucky_day}")
![]()
4
base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]
def t16(x):
templist = []
while True:
if x == 0: break
x,rem = divmod(x, 16)
templist.append(base[rem])
return ''.join([str(x) for x in templist[::-1]])
def t2(x):
templist = []
while True:
if x == 0: break
x,rem = divmod(x, 2)
templist.append(base[rem])
return ''.join([str(x) for x in templist[::-1]])
def t8(x):
templist=[]
while True:
x,rem=divmod(x,8)
templist.append(rem)
if x==0:break
return ''.join([str(x) for x in templist[::-1]])
if __name__=="__main__":
_input=input("Give me a number: ")
w=input('Converte to?')
try:
x=int(_input)
y=int(w)
except:
print("Give me a number!!!!")
if y==2:
print(t2(x))
elif y==8:
print(t8(x))
elif y==16:
print(t16(x))
else:
print('error')
![]()