Python基础(04 基础练习题)

Python基础语法文章导航:

  1. Python基础(01初识数据类型&变量)
  2. Python基础(02条件&循环语句)
  3. Python基础(03字符串格式化&运算符&进制&编码)

目录

1.如何实现 "1,2,3" 变成 ['1','2','3']

2.将列表[['a','b','c'],['d','e','f'],['g','h']]中的元素依次展开,得到 ⼀个新的列表 ['a','b','c','d','e','f','g','h']

3. 假设今天的上课时间为5678秒,编程计算今天上课时间是多少时,多少分,多 少秒,以“xx时xx分xx秒”的形式表示出来。 

 4.输⼊字符串,将字符串的开头和结尾变成'+',产⽣⼀个新的字符串

5. 猜数 给定⼀个定值,⽐如说 99 让⽤户输⼊数字,给⽤户三次机会,如果三次之内猜对了(输⼊的值等于99), 显示猜测正确 如果三次之内没有猜对,退出循环,显示'stupid' 要求。

 6.  输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天? 这边简单考虑,不考虑 闰年的情况。

 7. 输出 101~200 之间的所有素数 素数,就是 只能被 1 和 ⾃⼰整除的数, 判断素 # 数的⽅法:⽤⼀个数分别去除2到这个数的平⽅根,如果能被整除,则表明此数 # 不是素数,反之是素数。


1.如何实现 "1,2,3" 变成 ['1','2','3']

str="1,2,3"
print(str.split(","))

2.将列表[['a','b','c'],['d','e','f'],['g','h']]中的元素依次展开,得到 ⼀个新的列表 ['a','b','c','d','e','f','g','h']

# 方法一:
list1=[['a','b','c'],['d','e','f'],['g','h']]
a=list1[0]
b=list1[1]
c=list1[2]
print(a+b+c)


#方法二:
list1=[['a','b','c'],['d','e','f'],['g','h']]
a=list1[0]
b=list1[1]
c=list1[2]
f=[]
f.extend(a)
f.extend(b)
f.extend(c)
print(f)

#方法三:
ls1=[]
ls=[['a','b','c'],['d','e','f'],['g','h']]
for item in ls:
     ls1.extend(item)
print(ls1)

3. 假设今天的上课时间为5678秒,编程计算今天上课时间是多少时,多少分,多 少秒,以“xx时xx分xx秒”的形式表示出来。 

ts=5678
hour=int(ts/3600)
fen=int((ts-hour*3600)/60)
miao=int(ts-hour*3600-fen*60)
print(f'{hour}时{fen}分{miao}秒')

 4.输⼊字符串,将字符串的开头和结尾变成'+',产⽣⼀个新的字符串

str=input("输入字符串:")
str=str.replace(str[0],"+")
str=str.replace(str[-1],"+")
print(str)

5. 猜数 给定⼀个定值,⽐如说 99 让⽤户输⼊数字,给⽤户三次机会,如果三次之内猜对了(输⼊的值等于99), 显示猜测正确 如果三次之内没有猜对,退出循环,显示'stupid' 要求。

#方法一:
num=99
count=0
while count<3:
    num_user = int(input("⽤户输⼊数字:"))
    if num_user!=num:
        count += 1
        # print(count)
    else:
        print("猜测正确")
        exit()
print("stupid")



#方法二:
nums=[1,2,3]
count=0
for num in nums:
    num=int(input("⽤户输⼊数字:"))
    if num == 99:
        print("猜测正确")
        break
else:
    print("stupid")

 6.  输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天? 这边简单考虑,不考虑 闰年的情况。

#不考虑闰年的情况
year=int(input("请输入年份:"))
month=int(input("请输入月份:"))
day=int(input("请输入日期:"))

months_day = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30]
res = 0
for i in range(1, month):
    res += months_day[i]
print(res + day)


#拓展:考虑闰年的情况
year,month,day=map(int(input("请输入年月日,中间用逗号隔开:")).split(","))

def isLeapYear(y):
    if(y%400==0 or (y%4==0 and y%100!=0)):
        return True
    else:
        return False

months_day = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30]
res = 0

if isLeapYear(year):
    months_day[2]+=1

for i in range(1, month):
    res += months_day[i]
print(res + day)

 7. 输出 101~200 之间的所有素数 素数,就是 只能被 1 和 ⾃⼰整除的数, 判断素 # 数的⽅法:⽤⼀个数分别去除2到这个数的平⽅根,如果能被整除,则表明此数 # 不是素数,反之是素数。

print("101~200 之间的所有素数为:")
for i in range(101,200):
    count=1
    pingf = int(math.sqrt(i)) + 1
    for j in range(2,pingf):
        if(i%j==0):
            count=0
            break
    if count==1:
        print(i,end=" ")
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值