实验三
task1_1.
x=list(range(10))
print(f"整数输出1:",end="")
for i in x:
print(i,end=" ")
print("\n整数输出2:",end="")
for i in x:
print(f"{i:02d}",end="-")
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)]
print("-".join(y1))
print("字符输出2:",end="")
y2=[str(i).zfill(2) for i in range(10)]
print("-".join(y2))

task1_2
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)]
for i in lower_alpha: print(i, end = " ")
print("\n字符列表2: ")
upper_alpha = [i.upper() for i in lower_alpha]
for i in upper_alpha:
print(i, end = " ")

task1_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. random.randint(1,100) 生成的随机整数范围是?是否包括100?
利用 range(1,100) 生成的有序序列范围是?是否包括100?
答:在python中的random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是
上限,生成的随机数n: a <= n <= b。即random.randint(1,100)生成的随机数范围是1到100,包括100。
range(1,100)生成的有序序列的范围是1到99,不包括100。
2. 使用集合解析形式 s = {random.randint(1,100) for i in range(5)} 生成集合,
len(s)一定是5吗?
答: 不一定 当随机生成的数重复时,集合中元素由于不能重复会减少。因此len(s)不一定是5。
实验任务2:
已知fibonacci数列特性如下:从第3个数据项开始,是前两项之和。
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
编程输出fibonacci数列,直到数据项超过1000为止,并且,要求控制输出格式:每行输出5个,数据项
对齐输出。
a=0
b=1
i=b
count=2
print(f"{a:>10} {b:>10}",end=" ")
while i<=1000:
a,b=b,i
print(f"{i:>10}",end=" ")
i=a+b
count +=1
if count %5==0:
print(end="\n")
实验任务3:
编写一个简单的猜日期程序。具体要求如下:
1:使用随机函数,生成1~31之间的一个随机整数作为5月的lucky day
2:用户有三次猜日期机会。根据用户输入的日期,提示用户猜的日期是猜中了,或是,早或晚。
3:如果用户已经猜中了,则无需打印输出luck day。
4:如果用户用光三次机会也没有猜中,那么,就打印输出用户在5月的lucky day。
import random
a=random.randint(1,31)
print(a)
c=eval(input("猜猜2021年5月那一天会是你的lucky day:)你有三次机会,猜吧(1,31):"))
i=1
while i<3:
if c<a:
print("猜早啦,你的lucky day还早呢")
c=eval(input("再猜再猜:"))
i+=1
elif c>a:
print("猜晚啦,你的lucky day在前面")
c=eval(input("再猜再猜:"))
i+=1
else:
print("猜对啦")
i=4
if i==3 and c<a:
print("猜早啦,你的lucky day还早呢,前面次数用完啦")
print(f"2021年5月你的lucky day 是{a}号")
elif i==3 and c>a:
print("猜晚啦,你的lucky day在前面,前面次数用完啦")
print(f"2021年5月你的lucky day 是{a
}号")
else:
print("猜对啦")



浙公网安备 33010602011771号