IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python编程基础复习(一) -> 正文阅读

[Python知识库]Python编程基础复习(一)

Python编程基础复习(一)

人机交互,输入输出

  1. 编写一个程序,用户输入一个字符串,按每行一个字符的形式进行输出。
#print()函数输出至屏幕,默认换行,循环输入字符串即可
string = input()
for char in string:
    print(char)

2.用户输入一个浮点数,用str.format格式化输出,保留3位小数。

#.format方法格式化输出
my_num = float(input())
print('{:.3f}'.format(my_num))

3.输入一个整数 n,输出所有小于 n 的非负整数 i 的平方( 0 <= i < n )。

def loop(n):
    for i in range(n):
        print(n**2)

if __name__ == '__main__':
    n = int(input())
    loop(n) 

4.print()函数输入总结

print(*objects,seq=,end=,file=sys.stdout,flush=False)

常用控制输出的是seq和end,前者控制多个输出间隔元素(默认空格分隔),后者控制输出结束后的操作(默认换行),file控制输出到显示器的形式

#示例
print(1,2,3,4,5)             # 输出:1 2 3 4 5,默认用空格分隔多个输出对象
print(1,2,3,4,5,sep = ',')   # 输出:1,2,3,4,5,各输出对象间用指定的逗号分隔
print(2019,11,18,sep = '/')  # 输出:2019/11/18
print(23,59,36,sep = ':')    # 输出:23:59:36
print([1,2,3,4,5])           # 输出:[1, 2, 3, 4, 5],这是一个列表对象
print(*[1,2,3,4,5])          # 输出:1 2 3 4 5,输出时对列表对象(序列类型)进行解包
print('12345')               # 输出:12345,这是一个对象
print(*'12345')              # 输出:1 2 3 4 5,输出时对字符串对象(序列类型)进行解包
for i in range(5):           # 产生整数序列:0,1,2,3,4,依次赋值给i
	print(i)                 # 输出后换行,竖向输出0 1 2 3 4
# 加参数end = ',',输出后不换行,每个输出后跟一个逗号0,1,2,3,4,
for i in range(5):
	print(i,end = ',')       
# 加参数end = ' ',输出后不换行,每个输出后跟一个逗号0 1 2 3 4 (注意4后面有空格)
for i in range(5):
	print(i,end = ' ') 

流程控制(判断、循环)

1.输入一个正整数 n ,计算从 1 到 n 各数字的和,要求用一行代码实现

print(sum(range(1,int(input())+1)))

2.用户输入一个小于10的正整数,求1 + 12 + 123 + 1234 + …… 的前n项的和

numString = '123456789'
n = eval(input())
numSum = 0
for i in range(n):
    numSum = numSum + eval(numString[:i+1])
print(numSum)

3.1-1/2+2/3-3/5+4/8-5/13+…的前n项和,n由用户输入(n>0),结果用str.format()方法保留小数点后6位数字输出。

sum0 = 1
sign = -1
a,b = 1,1
n = int(input())
for i in range(1,n):
    a , b = b, a+b
    sum0 = sum0 + sign*(i/b)
    sign = -sign
print("{:.6f}".format(sum0))

4.十进制转二进制

n = int(input())
s = ''
if n == 0:
    s = '0'
while n != 0:
    s = s+str(n%2)
    n = n//2
print(s[::-1])

5.百钱买百鸡问题系列
问题描述(1):我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何?
输出要求:每行输出一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,数字之间用空格分隔;如果有多组解,按照鸡翁的数量由小到大输出。

# i,j,k代表公鸡母鸡和小鸡
for i in range(1,101):
    for j in range(1,101):
        for k in range(1,101):
            if k%3 == 0:
                if i + j + k == 100 and 5*i+3*j+k//3==100:
                    print(i, j, k)

问题描述(2):用户输入鸡的数量和钱数,鸡翁、鸡母、鸡雏各为多少?如果有解,输出全部解,并按鸡翁数量由少到多的顺序输出;如果无解则输出“无解”。

#版本一
num,money = map(int,input().split(" "))
flag = 0
for i in range(1,num+1):
    for j in range(1,num+1):
        for k in range(1,num+1):
            if i+j+k == num:
                if 5*i+3*j+k/3==money:
                    flag = 1
                    print(i,j,k)
if flag == 0:
    print("无解")
#输出案例验证正常,运行时间150ms左右

#改进版本
num,money = map(int,input().split(" "))
flag = 0
for i in range(1,num//5+1):
    for j in range(1,num//3+1):
        k = num - i - j
        if k%3==0 and k > 0 and 5*i+3*j+k//3==money:
            flag = 1
            print(i,j,k)
if flag == 0:
    print("无解")
#运行时间30ms
#运行时间的差异表明了实际计算量的差距,版本一存在多余计算,
#表现为:多用一层for循环表示鸡仔的数量;同时公鸡和母鸡的最大数量与花费金额有关,暴力循环整个数量值增加了运行时间。

6.一元二次方程求解情况判断

a = eval(input())
b = eval(input())
c = eval(input())
if a == 0:
    if b == 0:
        print("Data error!")
    else:
        print("{:.2f}".format(-1*c/b))
else:
    sqrt = pow(b,2)-4*a*c
    if sqrt > 0:
        x1 = (-1*b - pow(sqrt,0.5))/(2*a)
        x2 = (-1*b + pow(sqrt,0.5))/(2*a)
        print("{:.2f} {:.2f}".format(x2,x1))
    elif sqrt == 0:
        x = -1*b/(2*a)
        print("{:.2f}".format(x))
    else:
        print("该方程无实数解")

7.判断闰年和非闰年

year = int(input())
if year % 400 == 0 and year % 100 == 0:
    return True #闰年
elif year % 4 == 0 and year % 100 != 0:
    return True
else:
    return False

8.判断输入日期是当年的第几天

date = input()
year,month,day = date.split('/')
year = eval(year)
month = eval(month)
day = eval(day)
normal = [31,28,31,30,31,30,31,31,30,31,30,31]
unnormal = [31,29,31,30,31,30,31,31,30,31,30,31]
if (year%4==0 and year%100!=0) or (year%400==0 and year%100==0):
    days = sum(unnormal[:month-1])+day
else:
    days = sum(normal[:month-1])+day
print("{:}年{:}月{:}日是{:}年第{:}天".format(year,month,day,year,days))

9.计算n的阶乘

import math #python库,功能集成多
n=eval(input())
if n>=0 and type(n)==int:
    print(math.factorial(n))
else:
    print("ERROR")

10.字母大小写转换

# 版本一
s = input()
for c in s:
    if c in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
        print(c.lower(),end="")
    elif c in 'abcdefghijklmnopqrstuvwxyz':
        print(c.upper(),end="")
    else:
        print(c,end="")

# 版本二
s = input()
for c in string:
    if c.islower():
        print(c.upper(),end="")
    elif c.isupper():
        print(c.lower(),end="")
    else:
        print(c)

# 版本三
print(''.join([i.lower() if i.isupper() else i.upper() for i in input()]))

# 版本四
import string

def swap_case(s):
    ls = []
    for c in s:
        if c in string.ascii_lowercase:
            ls.append(c.upper())
        elif c in string.ascii_uppercase:
            ls.append(c.lower())
        else:
            ls.append(c)
    return ''.join(ls)


if __name__ == '__main__':
    s = input()
    result = swap_case(s)
    print(result)

11.阶乘和数判断:一个正整数如果等于组成它的各位数字的阶乘之和,则该正整数称为阶乘和数

import math
numStr = input()
total = 0
for char in numStr:
    total = total + math.factorial(int(char))
if total == eval(numStr):
    print("YES")
else:
    print("NO")

???????????????????????????????????????????????????????????????????????????????????????????

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 23:01:27  更:2021-07-14 23:03:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:43:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码