文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python入门到精通 练习题30道(初级)

2023-10-06 14:10

关注

主要给学习Python的新手们分享了几道简单练习题,文中给出了详细的示例代码供大家学习参考,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们来一起学习学习吧。

题目1

编程实现,让用户输入一个整数n,打印输出n以内的全部大于0的偶数(不包含n)

# 方法1==================================================# 让用户输入一个数字num=int(input("请输入一个整数"))# 判断是否满足循环条件,如果满足,则进入循环while num>0:    if num%2 == 0:        # 打印数字        print(num)    # 修改num的值,让其自减1【目的是为了将来能结束循环】        num -= 1 # 方法2================================================== # 让用户输入一个数字userInput=int(input("请输入一个整数"))# 通过range直接生成偶数for num in range(2,userInput+1,2):    print(num)

题目2

编程实现,让用户输入三个整数,要求打印输出最大的和最小的数字。

# 方法1:用列表的max和min方法=====================================#定义空列表li = []# 通过for循环,让用户输入三个数字,并依次加入到列表中for num in range(1,4):    userInput = input("请输入数字: ")    li.append(int(userInput))# 输出列表中的所有的数print(li)# 输出列表中的最大的数print(max(li))# 输出列表中的最小的数print(min(li))# 方法2:用比较数字大小的方法=======================================# 让用户输入一个数字userInput = int(input("请输入数字:"))   # 定义一个变量,保存最大的数maxNum = userInput          # 定义一个变量,保存最小的数minNum = userInput          for num in range(1,3):    # 让用户输入一个数字    userInput = int(input("请输入数字:"))        # 判断maxNum中保存的数字和新输入的数字谁大谁小    if maxNum < userInput:        # 如果新输入的数字,比如maxNum中保存的数字还大,说明maxNum中的数已经不是最大的数        maxNum = userInput    # 判断minNum中保存的数字和新输入的数字谁大谁小    if minNum > userInput:        minNum = userInputprint(maxNum,minNum)

题目3

编程实现,使用循环实现输出2-3+4-5+6-7+8-9+10 的和

sum1 = 0   # 定义变量保存2 4 6 8 10的和sum2 = 0   # 定义变量保存3 5 7 9的和# 计算2 4 6 8 10的和for m in range(2,11,2):    sum1 += m# 计算3 5 7 9的和for n in range(3,10,2):    sum2 += n# 计算2-3+4-5+6-7+8-9+10,也就是计算(2+4+6+8+10) -(3+5+7+9)res = sum1 - sum2print(res)

题目4

编程实现,使用循环实现输出 1,2,3,4,5, 7,8,9, 11,12

# 生成1-12的数字for num in range(1,13):    # 如果数字是6 或者 10,则立刻开始下一次循环    if num==6 or num==10:        continue    print(num)

题目5

编程实现,使用while 循环输出100-50,从大到小,如100,99,98...,到50时再从0循环输出到50,然后结束

# 方法1:用两个独立的循环================================================n = 100m = 0while n>=50:    print(n)    n -= 1while m<=50:    print(m)    m += 1        # 方法2:用一个循环 ======================================================# 定义变量m,用于定义输出100~50之间的数m = 100# 定义变量n,用于实现while的循环控制,并输出0-50之间的数n = 0# 开始循环while n<=50:    if m>=50:        print(m)    else:        print(n)        n+=1    m -= 1  

题目6

编程实现,使用 while 循环实现输出 1-100 内的所有奇数

# 方法1:用range实现=====================================for n in range(1,101,2):    print(n)# 方法2:用while=========================================n = 1while n<101:    if n%2 == 1:        print(n)    n += 1

题目7

编程实现,让用户输入行数和高度,打印一个矩形方框如:

###########        ##        ##        ###########
# 方法1==============================================h = int(input("请输入高度:"))w = int(input("请输入宽度:"))# 打印 h 行 #,每行有w个 ## 打印第一行print("#"*w)# 打印中间的行for n in range(h-2):    print("#",end="")    print(" "*(w-2),end="")    print("#")    # 打印最后一行print("#"*w)# 方法2================================================height = int(input("请输入高度:"))weidth = int(input("请输入宽度:"))number = 1while number <= height:    if number == 1 or number ==height:        print("#"*weidth)    elif number > 1 and number < height:        space = weidth - 2        print("#",end="")        print(" "*space,end="")        print("#")    number +=1

题目8、编程实现,让用户输入一个字符串

     判断用户输入的字符串有几个字符'a'

     判断用户输入的字符串有几个字符'a'

userInput = input("请输入一句话: ")m=0n=0for char in userInput:    if char == 'a':        m += 1    elif char == 'b':        n += 1print("a的个数%d  b的个数%d" %(m,n))

题目9

重复让用户输入一个单词,直到用户输入bye才退出,统计一下,用户一共输入了多少个单词?

# 方法1===================================import sysn = 0while True:    userInput = input("请输入:")    if userInput = "bye":        print("您一共输入了%d个单词"%(n))        sys.exit(0)else:        n+=1        # 方法2===================================n = 0while True:    userInput = input("请输入:")    if userInput = "bye":        print("您一共输入了%d个单词"%(n))        breakelse:        n+=1

题目10  编程实现,模拟出租车计价器,具体收费标准如下

             3公里以内收费13元

             超出3公里以外,每公里基本单价2.3元/公里

             空驶费:超过15公里后每公里加收1.15元空驶费

userInput = float(input("请输入: "))if userInput <= 3:    feiyong = 13.0elif userInput >3 and userInput <=15:    feiyong = (userInput-3)*2.3 + 13else:    feiyong = 13+(userInput-3)*2.3+(userInput-15)*1.15print("你需要支付%.1f"%(feiyong))

题目11

实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

# 方法1 ==============================================n = 1while True:    # 判断用户是否已经输入了三次    if n > 3:        print("你已经输入了3次,再见")        break            # 如果不到三次,就让n加1    n += 1        # 让用户输入,并判断    uName = input("用户名: ")    uPass = input("密  码: ")    if uName == "alex" or uName == "seven":        if uPass == "123":            print("登录成功")            break        else:            print("登录失败")    else:        print("登录失败")# 方法2 =============================================n = 1while n<=3:    # 如果不到三次,就让n加1    n += 1    # 让用户输入,并判断    uName = input("用户名: ")    uPass = input("密  码: ")    if uName == "alex" or uName == "seven":        if uPass == "123":            print("登录成功")            break        else:            print("登录失败")    else:        print("登录失败")

题目12 

编程实现,输入一年份,判断该年份是否是闰年并输出结果。凡符合下面两个条件之一的年份是闰年。

能被4整除但不能被100整除

能被400整除。

# 方法1 ===============================================year = int(input("请输入年份:"))if (year%4 == 0 and year %100 !=0) or (year%400 ==0):    print("闰年")else:    print("非闰年")

题目13

编程实现,一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

sum = 0h = 100for num in range(1,4):    if num == 1:sum = h + sum    else:        sum = h*2 + sum    h = h*0.5print(sum)

题目14

编程计算BMI值【公式是:BMI = 体重(公斤) / 身高*身高(米)】,并根据BMI指数:

weight=float(input("请输入你的体重:"))height=float(input("请输入你的身高:"))bmi = weight/height**2if bmi <18.5:    print("你的体重太轻了")elif bmi >=18.5 and bmi<25:    print("你的体重正常")     ...print("体重是 %.2f,身高%.2f,bmi=%.2f"%(weight,height,bmi))

题目15

编程实现,让用户输入10个数字,要求输出这10个数字,并输出10个数字中最大的和最小的数字

# 方法1 ==================================================# 让用户输入一个数字num = int(input("请输入一个数字: "))# 定义变量max和min,让两个的初始值都是nummin=max=num# 定义变量n,用来实现循环9次【前面已经输入一个第一个数字了】n=9while n>=1:    num = int(input("请输入一个数字: "))    # min变量中保存的是最小的    # 如果min中的数字比刚如数的数字还大,说明刚输入的数字小    # 此时就就将刚输入的数字替换掉min中原有的数字    if min >= num:        min = num    elif max <= num:        max = numn-=1print("max=%d, min=%d"%(max,min))# 方法2 ==================================================# 定义空列表li = []# 循环让用户输入,将用户输入的内容添加到列表中for num in range(1,11):    userInput = int(input("enter a number: "))    li.append(userInput)    # 获取列表的最大和最小数maxNum = max(li)minNum = min(li)print("全部数字列表:",li)print("最大的是:",maxNum)print("最小的是:",minNum)

题目16

编程实现,让用户输入一个季度数【1-4】,然后输出这个季度有那几个月,如果输入不是1-4的整数,提示用户您输错了,例如输入1,就提示1季度也有1月 2月 3月

userInput = int(input("请输入季度[1-4]: "))if userInput == 1:    print("一季度有1月2月3月")elif userInput == 2:    print("二季度有4月5月6月")elif userInput == 3:    print("三季度有7月8月9月")elif userInput == 4:    print("四季度有10月11月12月")else:    print("error.")

题目17

用程序计算100以内有多少个3的整数倍数字

# 方法1 =======================================sum = 0for num in range(1,101):    if num%3 == 0:        sum += 1print(sum)# 方法2 =======================================sum = 0n=1while n<100:    if n%3 == 0:        sum +=1    n += 1print(sum)

题目18

编程实现,用程序打印效果

*
**
***
****
*****
****
***
**
*

n=1m=4while n<=5:    print("*"*n)    n+=1while m>=1:    print("*"*m)    m-=1

题目19

打印99乘法表

# 方法1:=============================================for m in range(1,10):    for n in range(1,m+1):        print("%d*%d=%d"%(n,m,m*n),end=" ")    print("")# 方法2 ==============================================for n in range(1,10):    for m in range(1,10):        if m <= n:            print("%d*%d=%d"%(m,n,m*n),end=" ")        else:            print("")            break

题目20

用两种方法实现判断用户输入的内容中是否有c,要求最多输入三次

number = 3while number > 0:     userinput = input("输入内容:")     if "c" in userinput:         print("输出的内容有c")         break     else:         number -= 1         print("输出的内容没有c")

题目21

案例1:让用户输入数字,实现输出结果是

# 定义空列表,用于存储用户每次输入的内容li = []while True:    # 让用户输入输入    str = input("请输入数字:")    # 如果用户输入了q,停止让用户输入    if str == "q":        print("over")        break    # 将用户输入的内容作为一个元素添加到列表中    li.append(str)# 将列表中的元素用+拼接成一个字符串res = "+".join(li)# 输出拼接成的哪个最终字符串print(res)

题目22

让用户输入n数字

# 定义空列表,用于存储用户每次输入的内容li = []while True:    # 让用户输入输入    str = input("请输入数字:")    # 如果用户输入了q,停止让用户输入    if str == "q":        print("over")        break    # 将用户输入的内容保存到列表中    li.append(int(str))# 输出列表,也就是输出用户所输入的全部的数字print(li)print(max(li))print(min(li))

题目23

让用户随意输入内容,实现用户输入的内容始终在框内,而且居中

userinput = input("输入内容:")userinputNum = len(userinput)space = 3space_1 = space*2print("+",end="")print("-"*userinputNum+"-"*space_1,end="")print("+")print("|"+" "*space+userinput+" "*space+"|")print("+",end="")print("-"*userinputNum+"-"*space_1,end="")print("+")

题目24

生成一个1-100的列表

# 方法1:循环生成100个数字 - for 版li = []for n in range(1,101):li.append(n)# 方法2:循环生成100个数字 - while 版li = []n=1while n<=100:li.append(n)n += 1

题目25

让 用户输一段话,判断一共有多少个单词?

userInput = input("请输入一段内容:")n = 1# userInput  abc qq test 123 hhaha hello world qq abcdfor char in userInput:    if char == " ":        n += 1print(n)

题目26

逐一打印输出列表中的元素

li  = ["a","b","c","d"]li.reverse               # 对li中的内容进行逆序排序while True:           print(li.pop())      # 每次循环,用pop方法,从列表中取出一个元素,并打印输出    num = len(li)        # 计算列表中剩余的元素数量    if num == 0:         # 取完后,剩余的元素个数为0,此时结束循环        break     

题目27

将字符串abc123转换为321cba

str = "abc123"         # 定义字符串变量 print(str)             # 输出结果str = reversed(str)    # 将字符串逆序321cbali = list(str)         # 将逆序后的字符串对象转换为列表             [3,2,1,c,b,a]str = "".join(li)      # 通过join方法,将列表中的元素拼接成字符串    321cbaprint(str)

题目28

li1 = [3,2,1,7,6,4,5] 实现正序和逆序排序

li1 = [3,2,1,7,6,4,5]li1.sort()print(li1)li1.sort(reverse=True)print(li1)

题目29:购物车

要求

import sysuserInput = float(input("输入账户余额: "))price = ["", 4.8 , 3.8 , 2 , 4288]print("*" * 30, "\n""商品1.瓜子:4.8元""\n""商品2.花生:3.8""\n""商品3.矿泉水:2元""\n""商品4.3060显卡:4288元")print("*" * 30)while True:    if userInput >= price[3]:        commodity_number = input("输入商品编号(输入q退出):")        if commodity_number == "q" or commodity_number == "Q":                print("欢迎下次光临")                sys.exit()        else:                pass        commodity_number1 = input("请输入商品数量:")        if float(commodity_number) < 1 or float(commodity_number) > 4:            print("没有该件商品")            continue        elif price[int(commodity_number)]*(float(commodity_number1)) > userInput:            print("您的余额不足以购买此商品")            continue        else:            print("购买成功!")            userInput = userInput - float(commodity_number1) * price[int(commodity_number)]            userInput_1 = input("余额还有%.2f,是否继续购买Y|N:"%(userInput))            if userInput_1 == "y" or userInput_1 == "Y":                continue            if userInput_1 == "N" or userInput_1 == "n":               print("欢迎下次光临")               sys.exit()    else:        print("余额不足够购买任意商品")        sys.exit(1)

题目30

让用户输入个人基本信息,包括 姓名、电话、住址、年龄,通过字典保存用户的数据信息,当用户输入q的时候,结束输入

结束输入后,打印显示全部的用户名,并要求选择一个名称

然后打印输出这个用户的全部信息,输出信息的格式:用户 xxx,电话是xxx,地址是xxx,年龄是xxx

user_list = []user_dict={}while True:    userinput_name = input("输入姓名按q退出:").strip().lower()    if userinput_name == "q":        break    else:        userinput_tel = input("输入电话:").strip()        userinput_addr = input("输入地址:").strip()        userinput_age = input("输入年龄:").strip()        user_dict[userinput_name] = { "tel":userinput_tel, "addr": userinput_addr, "age": userinput_age}        user_list.append(userinput_name)        continueprint("====================用户菜单=======================")num = 1for listnum in user_list:    print("%s. %s"%(num,listnum))    num += 1userinput = input("选择一个用户查看:").lower().strip()name = user_list[int(userinput)-1]tel = user_dict[user_list[int(userinput)-1]]["tel"]addr = user_dict[user_list[int(userinput)-1]]["addr"]age = user_dict[user_list[int(userinput)-1]]["age"]print("用户名是:%s 电话号是:%s 地址是:%s 年龄是:%s"%(name,tel,addr,age))

来源地址:https://blog.csdn.net/weixin_67281781/article/details/123526599

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯