1、python基础

2018-10-16  本文已影响0人  Yerban
# coding=utf-8
import random

# 第一个打印语句
print('---第一个打印语句---')
print('Hello World!')

变量

变量定义的规则:


# input()调用用户输入信息,函数接受一个标准输入数据,返回为 string 类型。
print('---调用用户输入信息---')
name = input('请输入你的名字:')
print('请输入你的名字:', name)

name = input("Name:")
age = int(input("Age:"))
job = input("Job:")
salary = input("Salary:")

info = '''
------ info of %s ------
Name:%s
Age:%d
Job:%s
Salary:%s
''' % (name, name, age, job, salary)
print(info)


info2 = '''
------ info2 of {n} ------
Name:{n}
Age:{a}
Job:{j}
Salary:{s}
'''.format(n=name, a=age, j=job, s=salary)
print(info2)

变量运算

# 定义变量进行运算
print('---定义变量进行运算---')
pi = 3.1415926
radius = 10
# 计算一个半径10厘米的周长
print(2 * pi * radius)
# 计算一个半径10厘米的面积
print(pi * radius * radius)

# 简单的加减乘除
print('---简单的加减乘除---')
print('100 + 2 =', 100 + 2)
print('1 - 5 =', 1 - 5)
print('5 * 6 =', 5 * 6)
print('9 / 4 =', 9 / 4)

# 复杂的运算
print('---复杂的运算---')
num_left = 5
num_right = 2
print(num_left, '+', num_right, '=', num_left + num_right)
print(num_left, '-', num_right, '=', num_left - num_right)
print(num_left, '*', num_right, '=', num_left * num_right)
print(num_left, '/', num_right, '=', num_left / num_right)
# 幂运算
print(num_left, '**', num_right, '=', num_left ** num_right)
# 整除
print(num_left, '//', num_right, '=', num_left // num_right)
# 求余
print(num_left, '%', num_right, '=', num_left % num_right)

三元运算

result = 值1 if 条件 else 值2

string 与 byte

# encode 编码 encode()不指定,则使用默认
code_byte = '€20'.encode('utf-8')
print(code_byte)

# decode 解码
code_string = b'\xe2\x82\xac20'.decode('utf-8')
print(code_string)

特殊变量

# 字符串和变量名的区别
# ‘abcd’ 字符串带引号
# name 变量名不带引号

# 字符串和数字的区别
# ‘1234’ 字符串带引号
# 1234 数字不带引号

# 特殊字符
print('---特殊字符---')
# \  转义符
# \r 回车,使光标移动到本行行首,覆盖当前行
# \n 换行,使光标移动到下一行行首
# \t tab键
# \f 换页
# 特殊标点需要转义
# 转义打印‘\’
print('\\')
# 转义打印'\n'
print('a\\nb')
# 转义进行换行
print('a\nb')
print('a\rb')
print('I\'m HL.')
print("I'm HL.")
print("""I'm 'HL'.""")
print('''I'm "HL".''')

# 字符串类型运算
print('---字符串类型运算---')
# 字符串+:必须为两个字符串才能相加
print('abc' + 'def')
# 字符串*:必须为字符串*整数
print('*' * 3 + 'abc' + 'def' + '*' * 3)

# type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。
print(type(123))
print(type(1.2))
print(type(''))
print(type('qwer'))

# 类型转换
print('---类型转换---')
# int/str => float
# float/str => int
# int/fload => str
print(type(int(1.2)))
print(type(int('1')))
print(type(float(1)))
print(type(float('1.2')))
print(type(str(1)))
print(type(str(1.2)))
# 将abc和28相加
print('abc' + str(28))

练习1、定义变量name(str)和age(int),并打印出“My name is XX, and I'm XX years old.”

name = 'HL'
age = 28
print("My name is " + name + ", and I\'m " + str(age) + " years old.")

练习2、提示用户分别输入name和age,并打印出“My name is XX, and I'm XX years old.”

name = input('Please input your name:')
age = input('Please input your age:')
print("My name is " + name + ", and I\'m " + age + " years old .")

练习3、提示用户从控制台输入两个数字,计算两个数字的和差积商,并进行打印。

print('Please enter two Numbers for four operations.')
num_one = int(input('Please input your number:'))
num_two = int(input('please input your number again:'))
print(num_one, '+', num_two, '=', num_one + num_two)
print(num_one, '*', num_two, '=', num_one * num_two)
print(num_one, '-', num_two, '=', num_one - num_two)
print(num_one, '/', num_two, '=', num_one / num_two)

布尔值

# 布尔类型,表示真假,之后True/False两个值
is_boy = True
is_girl = False
print(is_boy)
print(is_girl)
# 或
print(True or True)
print(True or False)
print(False or True)
print(False or False)
# 且
print(True and True)
print(True and False)
print(False and True)
print(False and False)

# 非
print(not True)
print(not False)

# 布尔类型的四则运算
# 加相当于“或”,乘相当于“且”
print(True, True)
print(True + True)
print(True - True)
print(True * True)
print(True / True)

print(True, False)
print(True + False)
print(True - False)
print(True * False)
# print(True / False)

print(False, True)
print(False + True)
print(False - True)
print(False * True)
print(False / True)

print(False, False)
print(False + False)
print(False - False)
print(False * False)
# print(False / False)

# True为1
# False为0
# 对布尔类型进行类型转换
print(int(True))
print(int(False))
print(float(True))
print(float(False))
print(str(True))
print(str(False))

# 转换为bool型时,1,-2,2.2,'a','True','False'都是为True
# 只有0,0.0,‘’为False。
print(bool(1))
print(bool(1.0))
print(bool(-2))
print(bool(2.2))
print(bool('a'))
print(bool('True'))
print(bool('False'))
print(bool(' '))
print(bool(0))
print(bool(0.0))
print(bool(''))

# 关系型运算(==,<=,>=,!=)
print('a' < 'b')
print(5 <= 8)
print(3 != 3)

条件判断(关键字:if,elif,else)

# 从第一个条件开始判断,如果条件为真则执行子语句,否则判断下一个条件,如果所有为假,则执行else中的子语句。
# elif可以有0个或任意个,else可以有一个或者0个。
# print('>>>买一斤包子')
# show = input('你看见西瓜了吗?')
# if show == 'yes':
#     print('>>>买一个包子')
# elif show == 'y':
#     print('>>>买一个包子')
# elif show == 'Y':
#     print('>>>买一个包子')
# elif show == 'Yes':
#     print()
# else:
#     print('>>>买一斤包子')

练习4、提示用户从控制台驶入一个分数

判断分数如果>=90分则打印优秀

判断分数如果>=80分则打印优秀

判断分数如果>=60分则打印及格

否则打印不及格

# score = float(input('please input your score:'))
# if score >= 90:
#     print('优秀')
# elif score >= 80:
#     print('良好')
# elif score >= 60:
#     print('及格')
# else:
#     print('不及格')

练习5、提示用户从控制台输入一个年份,判断年份是否为闰年。(PS.四年为一闰,百年不闰;四百年再闰。)

years = int(input('please input years:'))
if years % 4 == 0 and years % 100 != 0:
    print(years,'为闰年')
elif years % 400 == 0:
    print(years, '为闰年')
else:
    print(years,'不为闰年')

循环语句(关键字:while)

# 求1-100的和
idx = 1
idx_sum = 0
while idx <= 100:
    idx_sum += idx
    idx = idx + 1
print('total:', idx_sum)

练习6、提示用户在控制台上输入数字或exit,当用户输入exit后结束进程程序,并打印所有输入数字的和与平均数。

test6_num = input('Please input your numbers or exit:')
test6_num_count = 0
test6_num_sum = 0
while test6_num != 'exit' and test6_num != '':
    test6_num_sum += float(test6_num)
    test6_num_count += 1
    test6_num = input('Please input your numbers or exit:')
if test6_num_count == 0:
    print('sum:0,avg:0')
else:
    print('sum:', test6_num_sum, 'avg:', test6_num_sum/test6_num_count)

break 和 continue

# break如果条件为真,跳出结束循环
eg_num1 = 0
while eg_num1 <= 5:
    eg_num1 += 1
    if eg_num1 == 3:
        break
    print(eg_num1)

# continue如果条件为真,跳过本次循环
eg_num2 = 0
while eg_num2 <= 5:
    eg_num2 += 1
    if eg_num2 == 3:
        continue
    print(eg_num2)

作业1:打印乘法口诀

提示:尝试print('HL')与print('HL', end='')的区别

jobs_num1 = 1
while jobs_num1 <= 9:
    jobs_num2 = 1
    while jobs_num2 <= 9:
        if jobs_num2 <= jobs_num1:
            print(jobs_num1, '*', jobs_num2, '=', jobs_num1 * jobs_num2, end = '\t')
        jobs_num2 += 1
    jobs_num1 += 1
    print('\n')

作业2:猜数游戏

随机生成一个0-100的数字,提示用户在控制台上输入一个数字

当用户输入数字小于生成的随机数,则打印猜小了;

当用户输入数字大于生成的随机数,则打印猜大了;

当用户输入数字等于生成的随机数,则打印猜对了,并退出程序;

用户可最多猜测5次,如果5次都猜错,则打印“太笨了,下次再来吧。”并结束程序。

提示:生成随机数的方法

# 提示
import random
random_num = random.randint(0, 100)
random_num1 = random.randint(0, 100)
user_count = 1
while user_count <= 5:
    user_num1 = input('Please input your number:')
    user_num1 = int(user_num1)
    if user_num1 > random_num1:
        print('猜大了!')
    elif user_num1 < random_num1:
        print('猜小了!')
    else:
        print('猜对了!')
        break
    user_count += 1
    if user_count > 5:
        print('太笨了,下次再来吧。正确值是:', random_num1)
上一篇下一篇

猜你喜欢

热点阅读