Python日练习题目

Python练习题目

基础不牢,就要坚持训练。敲就对了
先看题目,自己敲了再对着看。
有错就告诉我
或者发我邮件wow336@163.com

  • 题目1
    有1,2,3,4数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
##count用来统计三位数的大小
# Count=0
# for i in range(1,5):
#     for j in range(1,5):
#         for k in range(1,5):
#             if (j!=k) or (i!=k)  or (i!=j):
#                 print (i,j,k)
#                 Count+=1
# print (Count)
  • 题目2
    企业发放的奖金根据利润提成。
    利润低于或者等于10万元时,奖金可提10%
    高于10万,低于20万,低于10万的部分按照10%提成,高于10万元的部分,可提成7.5%
    20万元到40万元之间时,高于20万元的部分,可以提成5%
    40万元到60万元之间,高于40万元的部分,可以提成3%
    60万元到100万元之间时候,高于60万元的部分,可提成1.5%
    高于100万元时,超过100万的提成1%
    从键盘输入当月利润,求应发放奖金总数?
#分出来先,养成这个思维,不急
'''
input和raw_input的区别
     当输入为纯数字时
         input返回的是数值类型,如int,float
         raw_inpout返回的是字符串类型,string类型
     输入字符串为表达式
       input会计算在字符串中的数字表达式,而raw_input不会。
        如输入 “57 + 3”:
         input会得到整数60
         raw_input会得到字符串”57 + 3”  
'''
Bonus1=10000*0.1
Bonus2=Bonus1+10000*0.075
Bonus4=Bonus2+20000*0.05
Bonus6=Bonus4+20000*0.03
Bonus10=Bonus6+40000*0.015

i=int(input('输入当月利润:\n'))
if i<=10000:
    Commission=i*0.1
elif i<=20000:
    Commission=Bonus1+(i-10000)*0.075
elif i<=40000:
    Commission=Bonus2+(i-20000)*0.05
elif i<=60000:
    Commission=Bonus6+(i-40000)*0.035
elif i<=100000:
    Commission=Bonus10+(i-60000)*0.015
else:
    Commission=Bonus10+(i-100000)*0.01
print (Commission)
  • 题目3
    一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?
#这个数具体多少个不清楚,但是电脑可以无限的算下去。我估计只会无限逼近原来的答案,所以数量有限吧。从0开始遍历,选择到10000结束好了。
#这个问题有毛病,到底是加了100后,再加268;还是分别加,代码都差不多,没有难度

import math
count=0
for i in range(0,10000):
    x=int(math.sqrt(i+100))
    y=int(math.sqrt(i+268))
    if (x*x==i+100) and (x*x==i+268) :
        print(i)
        count+=1
print("数量一共有%d个"%count)
  • 题目4
    输入某年某月某日,判断这一天是这一年的第几天?
year=int(input("请输入年份:"))
month=int(input("请输入月份:"))
day=int(input("请输入几号:"))
sum=0
months=[31,59,90,120,151,181,212,243,273,304,334,365]
if (month==12) or (month==0):
    print("%d的第%d天"%(year,day))
if (month>0) and (month<12):
    sum=months[month-1]
    if (year%400==0) or (year%4==0):
        sum+=1
print(sum)
  • 题目5
    输入三个整数x,y,z,请把这三个数由小到大输出。
I=[]
for i in range(1,4):
    x=int(input("输入第%d个数字:"%i))
    I.append(x)
I.sort()
print(I)
  • 题目6
    用*号输出字母c的图案

a=176
b=219
print (chr(a),chr(b),chr(b),chr(b),chr(a))
print (chr(b),chr(a),chr(a),chr(a),chr(a))
print (chr(b),chr(a),chr(a),chr(a),chr(a))
print (chr(b),chr(a),chr(a),chr(a),chr(a))
print (chr(a),chr(b),chr(b),chr(b),chr(a))
  • 题目7
    输出特殊图案,请在c环境中运行,看一看,very beautiful
a=176
b=219
print (chr(b),chr(a),chr(a),chr(a),chr(b))
print (chr(a),chr(b),chr(a),chr(b),chr(a))
print (chr(a),chr(a),chr(b),chr(a),chr(a))
print (chr(a),chr(b),chr(a),chr(b),chr(a))
print (chr(b),chr(a),chr(a),chr(a),chr(b))
  • 附加题
    了解每个数字背后的图案
I=[]
for i in range(33,10000):
    I.append(chr(i))
print(I)
  • 题目8
    输出9*9口诀
for i in range(1,10):
    for j in range(1,10):
        result=i*j
        print("%d*%d=%d"%(i,j,result),end=" ")
        if j==9:
            print("\t")

### Python 初学者练习题 对于希望掌握Python编程的新手来说,实践是非常重要的环节。通过解决具体问题可以加深对语言特性和编程逻辑的理解。 #### 练习一:字符串操作 编写一个程序来反转给定的字符串并判断其是否为回文(正读反读都相同的单词)。这有助于熟悉字符串切片和条件语句[^1]。 ```python def is_palindrome(s): s = ''.join(filter(str.isalnum, s)).lower() return s == s[::-1] print(is_palindrome("A man, a plan, a canal: Panama")) # True ``` #### 练习二:列表推导式 创建一个函数接受两个参数n和m返回由n到m之间所有的偶数构成的一个列表。此题可以帮助理解范围对象以及列表解析式的用法[^2]。 ```python def get_even_numbers(n, m): return [i for i in range(n, m + 1) if i % 2 == 0] print(get_even_numbers(2, 10)) # Output: [2, 4, 6, 8, 10] ``` #### 练习三:字典应用 设计一个小工具能够统计一段文字里各个字母出现次数,并按照频率降序排列输出结果。该任务涉及到了文件I/O、数据结构的选择等问题。 ```python from collections import Counter def letter_frequency(text): filtered_text = ''.join(c.lower() for c in text if c.isalpha()) freqs = dict(sorted(Counter(filtered_text).items(), key=lambda item: (-item[1], item[0]))) return freqs sample_text = "Hello world!" for k, v in letter_frequency(sample_text).items(): print(f"{k}: {v}") ``` 这些简单的项不仅能让新手更好地了解Python的基础特性,而且还能培养解决问题的能力。随着技能的增长,还可以尝试更复杂的挑战如构建小型Web应用程序或参与开源贡献等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值