python入门代码练习

ex1.

#!/usr/bin/env Python3
##ex1._01helloworld.py

print("hello world")

ex2.

#!/usr/bin/env Python3
##ex2. _02Sum.py
#用户输入
num1 = input('输入第一个数字')
num2 = input('输入第二个数字')

#求和
sum = float(num1) + float(num2)

#显示计算结果
print('数字 {0} 和 {1} 相加结果为:{2}'.format(num1, num2, sum))

ex3.

#!/usr/bin/env Python3
##ex3. _03Sqrt.py

import cmath
num = float(input('请输入一个数字:'))
num_sqrt = num ** 0.5
print('%0.3f的平方根为 %0.3f' %(num, num_sqrt))

#计算负数


num = int(input("请输入一个数字:"))
num_sqrt = cmath.sqrt(num)
print('{0}的平方根为{1:0.3f} + {2:0.3f}j'.format(num,
                                            num_sqrt.real,
                                            num_sqrt.imag))

ex4.

#!/usr/bin/env Python3
##ex4. _04RootCalc.py

import cmath
a = float(input('输入a:'))
b = float(input('输入b:'))
c = float(input('输入c:'))

#计算
d = (b ** 2) - (4 * a * c)

mol1 = (-b + cmath.sqrt(d)) / (2 * a)
mol2 = (-b + cmath.sqrt(d)) / (2 * a)

print('结果为{0} 和 {1}'.format(mol1, mol2))

ex5.

#!/usr/bin/env Python3
##ex5. _05TrangleArea.py

a = float(input('请输入三角形第一边长:'))
b = float(input('请输入三角形第二边长:'))
c = float(input('请输入三角形第三边长:'))

s = (a + b + c) / 2

area = (s * (s - a) * (s - b) * (s -c)) ** 0.5

print('三角形面积为%0.2f' %area)

ex6.

#!/usr/bin/env Python3
##ex6. _06RandNum.py

import random

print(random.randint(0, 9))

ex7.

#!/usr/bin/env Python3
##ex7. _07SwitchTemperature.py

celsius = float(input('输入设施温度:'))

fahrenheit = (celsius * 1.8) + 32

print('%0.1f 摄氏度转华氏度为 %0.1f' %(celsius, fahrenheit))

ex8.

#!/usr/bin/env Python3
##ex8. _08SwapVal.py

x = input('输入 x 值:')
y = input('输入 y 值:')

temp = x
x = y
y = temp

print('交换后 x 的值为:{}'.format(x))
print('交换后 x 的值为:{}'.format(y))

#不使用临时变量
x = input('输入 x 值:')
y = input('输入 y 值:')

x, y = y, x

print('交换后 x 的值为:{}'.format(x))
print('交换后 x 的值为:{}'.format(y))


ex9.

#!/usr/bin/env Python3
##ex9. _09IfDemo.py

num = float(input("输入一个数字:"))
if num > 0:
    print("正数")
elif num == 0:
    print("零")
else:
    print("负数")


num = float(input("输入一个数字:"))
if num >= 0:
    if num == 0:
        print("零")
    else:
        print("正数")
else :
    print("负数")

ex10.

#!/usr/bin/env Python3
##ex10. _10IsNum.py

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass

    try:
        import unicodedata
        unicodedata.numeric(s)
        return True
    except (TypeError, ValueError):
        pass

    return False

print(is_number('foo'))
print(is_number('1'))
print(is_number('1.3'))
print(is_number('-1.37'))
print(is_number('1e3'))
print(is_number('foo'))


##isdiqit()方法检测字符串是否只由数字组成
##isnumeric()方法检测字符串是否只由数字组成,这种只针对unicode对象

ex11.

#!/usr/bin/env Python3
##ex11. _11IsNumTwo.py

num = int(input("请输入一个数字:"))
if (num % 2) == 0:
    print("{0} 是偶数".format(num))
else:
    print("{0} 是奇数".format(num))

ex12.

#!/usr/bin/env Python3
##ex12. _12IsYear.py

year = int(input("输入一个年份:"))
if (year % 4) == 0:
    if(year % 100) == 0:
        if(year % 400) == 0:
            print("{0}是润年:".format(year))
        else:
            print("{0}不是润年:".format(year))
    else:
        print("{0}是润年:".format(year))
else:
    print("{0}不是润年:".format(year))

ex13.

#!/usr/bin/env Python3
##ex13. _13GetMax.py

print(max(1, 2))
print(max('a', 'b'))

print(max([1, 2]))
print(max((1, 2)))

print("80, 100, 1000最大值为:", max(80, 100, 1000))
print("-20, 100, 400最大值为:", max(-20, 100, 400))
print("-80, -20, -10最大值为:", max(-80, -20, -10))
print("0, 100, -400最大值为:", max(0, 100, -400))

ex14.

#!/usr/bin/env Python3
##ex14. _14Prime.py

##循环语句可以有 else 子句,
##它在穷尽列表(以for循环)或条件变为 false
##(以while循环)导致循环终止时被执行,
##但循环被break终止时不执行。
num = int(input("请输入一个数字:"))

if num > 1:
    for i in range(2, num):
        if (num % i) == 0:
            print(num, "不是质数")
            print(i, "乘与", num // i, "是", num)
            break
    else:
        print(num, "是质数")
else:
    print(num, "不是质数")

ex15.

#!/usr/bin/Python3
##ex15. _15PrimePrint.py

lower = int(input("输入区间最小值:"))
upper = int(input("输入区间最大值:"))

for num in range(lower, upper + 1):
    if num > 1:
        for i in range(2, num):
            if (num % i) == 0:
                break
        else:
            print(num)

ex16.

#!/usr/bin/python3
##ex16. _16Factorial.py

num = int(input("请输入一个数字"))
factorial = 1

if num < 0:
    print("抱歉,负数没有阶乘")
elif num == 0:
    print("0 的阶乘为1")
else:
    for i in range(1, num + 1):
        factorial = factorial * i
    print("%d 的阶乘为 %d" %(num, factorial))

ex17.

#!/usr/bin/ python3
##ex17. _17NineNine.py

for i in range(1, 10):
    for j in range(1, i + 1):
        print('{} x {} = {} \t'.format(i, j, i * j), end='')
    print()


##通过指定end参数的值,可以取消在末尾输出回车符,实现不换行

ex18.

#!/usr/bin/python3
##ex18. _18FebNumList.py

nterms = int(input("你需要几项"))

n1 = 0
n2 = 1
count = 2

if nterms <= 0:
    print("请输入一个正数")
elif nterms == 1:
    print("斐波那契数列:")
    print(n1)
else:
    print("斐波那契数列:")
    print(n1, ",", n1, end=" , ")
    while count < nterms:
        nth = n1 + n2
        print(nth, end=" , ")
        n1 = n2
        n2  = nth
        count += 1

ex19.

#!/usr/bin/python3
##ex19. _19AmstlNum.py

##如果一个n位正整数等于其各位数字的n次方之和,
##则称该数为阿姆斯特朗数

num = int(input("请输入一个数字:"))

sum = 0

n = len(str(num))

temp = num

while temp > 0:
    digit = temp % 10
    sum += digit ** n
    temp //= 10

if num == sum:
    print(num, "是阿姆斯特朗数")
else:
    print(num, "不是阿姆斯特朗数")

ex20.

#!/usr/bin/python3
##ex20. _20DecToBinOctHex.py

dec = int(input("输入数字:"))

print("十进制数:", dec)
print("转二进制数:", bin(dec))
print("转八进制数:", oct(dec))
print("转十六进制数:", hex(dec))

ex21.

#!/usr/bin/python3
##ex21. _21ASCIIToChar.py

c = input("请输入一个字符:")

a = int(input("请输入一个Ascii码:"))

print(c + "的ascii 码为", ord(c))
print(a, "的字符为", chr(a))

ex22.

#!/usr/bin/python3
##ex22. _22BigNum.py

def hcf(x, y):
    if x > y:
        smaller = y
    else:
        smaller = x

    for i in range(1, smaller + 1):
        if ((x % i == 0) and (y % i == 0)):
            hcf = i

    return hcf


num1 = int(input("输入第一个数字:"))
num2 = int(input("输入第二个数字:"))

print(num1, "和", num2, "的最大公约数为", hcf(num1, num2))

ex23.

#!/usr/bin/python3
##ex23. _23MinNum.py

def lcm(x, y):
    if x > y:
        greater = x
    else:
        greater = y

    while (True):
        if((greater % x == 0) and (greater % y == 0)):
            lcm = greater
            break
        greater += 1

    return lcm

num1 = int(input("输入第一个数字"))
num2 = int(input("输入第二个数字"))

print(num1, "和", num2, "的最小公倍数为", lcm(num1, num2))

ex24.

#!/usr/bin/python3
##ex24. _24Calc.py

def add(x, y):
    return x + y

def substract(x, y):
    return x - y

def miltiply(x, y):
    return x * y

def divide(x, y):
    return x / y

print("选择运算:")
print("1.相加:")
print("2.相减:")
print("3.相乘:")
print("4.相除:")

choice = input("输入你的选择1,2,3,4:")

num1 = int(input("输入第一个数字:"))
num2 = int(input("输入第二个数字:"))

if choice == '1':
    print(num1, "+", num2, "=", add(num1, num2))
elif choice == '2':
    print(num1, "-", num2, "=", substract(num1, num2))
elif choice == '3':
    print(num1, "*", num2, "=", miltiply(num1, num2))
elif choice == '4':
    print(num1, "/", num2, "=", divide(num1, num2))
else:
    print("非法输入")

ex25.

#!/usr/bin/python3
##ex25. _25Date.py

import calendar

yy = int(input("输入年份:"))
mm = int(input("输入月份:"))

print(calendar.month(yy, mm))

ex26.

#!/usr/bin/python3
##ex26. _26FebNum.py

def recur_fibo(n):
    if n <= 1:
        return n
    else:
        return (recur_fibo(n - 1) + recur_fibo(n - 2))


nterms = int(input("您要输出几项?"))

if nterms <= 0:
    print("输入正数")
else:
    print("斐波那契数列:")
    for i in range(nterms):
        print(recur_fibo(i))

ex27.

#!/usr/bin/python3
##ex27. _27FIleRW.py

with open("test.txt", "wt") as out_file:
    out_file.write("写入文本")

with open("test.txt", "rt") as in_file:
    text = in_file.read()

print(text)

ex28.

#!/usr/bin/python3
##ex28. _28StringTest.py

print("测试一")
str = "y0n"

# 判断所有字符都是数字或者字母
print(str.isalnum())
# 判断所有字符都是字母
print(str.isalpha())
# 判断所有字符都是数字
print(str.isdigit())
# 判断所有字符都是小写
print(str.islower())
# 判断所有字符都是大写
print(str.isupper())
# 判断所有单词都是首字母大写,像标题
print(str.istitle())
# 判断所有字符都是空白字符、\t、\n、\r
print(str.isspace())

print("------------------")
print("测试二")
str = "stringTest"

# 判断所有字符都是数字或者字母
print(str.isalnum())
# 判断所有字符都是字母
print(str.isalpha())
# 判断所有字符都是数字
print(str.isdigit())
# 判断所有字符都是小写
print(str.islower())
# 判断所有字符都是大写
print(str.isupper())
# 判断所有单词都是首字母大写,像标题
print(str.istitle())
# 判断所有字符都是空白字符、\t、\n、\r
print(str.isspace())

ex29.

#!/usr/bin/python3
##ex29. _29UpToLow.py

str = "y0n"

# 把所有字符中的小写字母转换成大写字母
print(str.upper())
# 把所有字符中的大写字母转换成小写字母
print(str.lower())
# 把第一个字母转化为大写字母,其余小写
print(str.capitalize())
# 把每个单词的第一个字母转化为大写,其余小写
print(str.title())

ex30.

#!/usr/bin/python3
##ex30. _30CalcDayOfMomth.py

import calendar
monthRange = calendar.monthrange(2016, 9)
print(monthRange)

##输出的是一个元组,
# 第一个元素是所查月份的第一天对应的是星期几(0-6),
# 第二个元素是这个月的天数。
# 以上实例输出的意思为 2016 年 9 月份的第一天是星期四,
# 该月总共有 30 天。

ex31.

#!/usr/bin/python3
##ex31. _31GetYesterday.py

import datetime
def getYesterday():
    today = datetime.date.today()
    oneday = datetime.timedelta(days=1)
    yesterday = today - oneday
    return yesterday

print(getYesterday())

ex32.

#!/usr/bin/python3
##ex32. _32ListOperator.py
li = ["a", "b", "mpilgrim", "z", "example"]
print(li)
print(li[1])
print(li[-1])
print(li[-3])
print(li[1:3])
print(li[1:-1])
print(li[0:3])

li.append("new")
print(li)

li.insert(2, "new")
print(li)

li.extend(["two", "elements"])
print(li)

print(li.index("example"))

print(li.index("new"))

print("c" in li)

li.remove("z")
print(li)

li = li + ["sss", 'sd']
print(li)

'''
7.使用join链接list成为字符串
>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> ["%s=%s" % (k, v) for k, v in params.items()]
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> ";".join(["%s=%s" % (k, v) for k, v in params.items()])
'server=mpilgrim;uid=sa;database=master;pwd=secret'
join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。
连接一个存在一个或多个非字符串元素的 list 将引发一个异常。

8.list 分割字符串
>>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s = ";".join(li)
>>> s
'server=mpilgrim;uid=sa;database=master;pwd=secret'
>>> s.split(";")
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s.split(";", 1)
['server=mpilgrim', 'uid=sa;database=master;pwd=secret']
split 与 join 正好相反, 它将一个字符串分割成多元素 list。
注意, 分隔符 (";") 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。
split 接受一个可选的第二个参数, 它是要分割的次数。

9.list 的映射解析
>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li]
>>> li
[2, 18, 16, 8]

10.dictionary中的解析
>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> params.keys()
['server', 'uid', 'database', 'pwd']
>>> params.values()
['mpilgrim', 'sa', 'master', 'secret']
>>> params.items()
[('server', 'mpilgrim'), ('uid', 'sa'), ('database', 'master'), ('pwd', 'secret')]
>>> [k for k, v in params.items()]
['server', 'uid', 'database', 'pwd']
>>> [v for k, v in params.items()]
['mpilgrim', 'sa', 'master', 'secret']
>>> ["%s=%s" % (k, v) for k, v in params.items()]
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

11.list 过滤
>>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]
>>> [elem for elem in li if len(elem) > 1]
['mpilgrim', 'foo']
>>> [elem for elem in li if elem != "b"]
['a', 'mpilgrim', 'foo', 'c', 'd', 'd']
>>> [elem for elem in li if li.count(elem) == 1]
['a', 'mpilgrim', 'foo', 'c']
'''



  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值