笨办法学python习题1-10

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/haoxiaoyan/article/details/88885154
#第一个程序
# -*- coding: utf-8 -*-
print('Hello World!')
print("Hello Again")
print("I like typing this.")
print("This is fun.")
print('Yay ! Printing.')
print("I'd much rather you 'not'.")
print('T "said" do not touch this.')
print("I love you!")

加分练习

1. 让你的脚本再多打印一行。

加一句print('\n')

2. 让你的脚本只打印一行。

print("Hello World!",end="")
print("Hello Again",end="")
print("I like typing this.",end="")
print("This is fun.",end="")
print("Yay! Printing.",end="")
print("I'd much rather you 'not'.",end="")
print('I "sai" do not touch this.',end="")

3. 在一行的起始位置放一个 ‘#’ (octothorpe) 符号。它的作用是什么?自己研究一下。

#就是注释的意思,所以该行不会被显示

习题2注释和井号

# -*- coding: utf-8 -*-

# A comment,this is so you can read your program later.

#Anything after the # is ignored by python.
print("I could have code like this.")#and the comment after is ignored

# You can also use a comment to "disable" or comment out a piece of code:

#print "This won't run."

print("This will run.")

加分习题

1. 弄清楚”#”符号的作用。而且记住它的名字。(中文为井号,英文为 octothorpe 或者 pound character)。

2. 打开你的 ex2.py 文件,从后往前逐行检查。从最后一行开始,倒着逐个单词单词检查回去。

3. 有没有发现什么错误呢?有的话就改正过来.

4. 朗读你写的习题,把每个字符都读出来。有没有发现更多的错误呢?有的话也一样改正过来。

 

习题3数学和数据计算

# -*- coding: utf-8 -*-
print("I will now count my chickens:")

print("Hens",25 + 30 / 6)

print("Roosters", 100 - 25 * 3 % 4)
print(4 % 2)
print("Now I will count the eggs:")
print(3 + 2 + 1 -5 + 4 % 2 -1 / 4 + 6)
print("Is it true that 3 + 2 < 5 -7 ?")
print(3 + 2 < 5 -7)
print("What is 3 + 2?",3 + 2)
print("What is 5 - 7?",5-7)
print("Oh,that's why it's False")
print("How about some more.")
print("Is it greater?",5 > -2)
print("Is it greater or equal?", 5 >= -2)
print("Is it less or equal?",5 <= -2)

1.使用# 在代码每一行的前一行为自己写一个注解,说明一下这一行的作用。

#练习三
#我现在要数我的鸡
print("I will now count my chickens: ")
#母鸡,25+30/6
print("Hens",25+30/6)
#公鸡,100-25*3%4
print("Roosters",100-25*3%4)
#现在我要数鸡蛋
print("Now I will count the eggs: ")
#计算
print(3+2+1-5+4%2-1/4+6)
#3+2<5-7正确吗
print("Is it true that 3+2<5-7?")
#计算
print(3+2<5-7)
 
print("What is 3+2?",3+2)
print("What is 5-7?",5-7)
print("Oh, that's why it's False.")
print("How about some more.")
print("Is it greater?",5>-2)
print("Is it greater or equal?",5>=-2)

# 习题4
cars = 100  # 定义共有100辆车
space_in_a_car = 4  # 定义每辆车可坐四个人
drivers = 30    # 定义驾驶员共有30个
passengers = 90 # 定义乘客又90个
cars_not_driven = cars - drivers    # 定义不被驾驶的车,即总归车辆数-司机个数
cars_driven = drivers   # 定义被开的车就是司机人数,一个驾驶员开一辆车
carpool_capacity = cars_driven * space_in_a_car    # 被开的车一共可以容纳的人
average_passengers_per_car = passengers / cars_driven   # 实际平均每辆车容纳的人
 
print("There are", cars, "cars available.")
print("There are only", drivers, "drivers available")
print("There will be", cars_not_driven, "empty cars today.")
print("We can transport", carpool_capacity, "people today.")
print("We have", passengers, "to carpool today.")
print("We need to put about", average_passengers_per_car, "in each car.")

习题五:更多变量和打印

加分练习

my_name = 'Zed A. Shaw'
my_age = 35
my_height = 74  # inches
my_weight = 180
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'
 
print("Let's talk about %s." % my_name)
print("He's %d inches tall." % my_height)
print("He's %d pounds heavy." % my_weight)
print("Actually that's not too heavy.")
print("He's got %s eyes and %s hair." % (my_eyes, my_hair))
print("His teeth are usually %s depending on the coffee." % my_teeth)
 
print("If I add %d, %d, and %d I get %d." % (my_age, my_height, my_weight, my_age+my_height+my_weight))

1.修改所有的变量名字,把它们前面的``my_``去掉。确认将每一个地方的都改掉,不只是你使用``=``赋值过的地方。

2. 试着使用更多的格式化字符。例如 %r 就是是非常有用的一个,它的含义是“不管什么都打印出来”。

3.在网上搜索所有的python格式化字符。

%% 百分号标记 #就是输出一个%
%s 字符串
%r 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
%c 字符及其ASCII码。
(整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置)
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中

习题六:字符串和文本

1.  通读程序,在每一行的上面写一行注解,给自己解释一下这一行的作用。

# -*- coding: utf-8 -*-
#定义一个格式化字符串
x = "There are %d types of people." % 10
#定义一个字符串
binary = "binary"
#定义一个字符串
do_not="don't"
#定义一个格式化字符串
y = "Those who know %s and those who %s." % (binary,do_not)
#输出定义的格式化字符串x
print(x)
#输出定义的格式化字符串y
print(y)
#把x作为参数传递给字符串打印
print("I said: %r." % x)
#把y作为参数传递给字符串打印
print("I also said: '%s'." % y)
#定义一个布尔型变量
hilarious = False
#定义一个字符串
joke_evaluatin = "Isn't that joke so funny?! %r"
#打印字符串,将布尔型作为参数传递给字符串的占位符
print(joke_evaluatin % hilarious)
#定义一个字符串
w = "This is the left side of..."
e = "a string with a right side."
#打印合并两个字符串
print(w + e)

2. 找到所有的”字符串包含字符串”的位置,总共有四个位置。
y = "Those who know %s and those who %s." % (binary, do_not)
print("I said : %r." % x)
print("I also said: '%s'." % y)
joke_evaluation = "Isn't that joke so funny?! %r" 
3. 你确定只有四个位置吗?你怎么知道的?没准我在骗你呢。
4. 解释一下为什么? w 和? e 用? + 连起来就可以生成一个更长的字符串。
因为w和e都是字符串,如果是两个数值的话,+最后就是加法运算的结果

习题七:更多打印

1. 逆向阅读,在每一行的上面加一行注解。
2. 倒着朗读出来,找出自己的错误。
3. 从现在开始,把你的错误记录下来,写在一张纸上。
4. 在开始下一节习题时,阅读一遍你记录下来的错误,并且尽量避免在下个练习中再犯同样的错误。
5. 记住,每个人都会犯错误。程序员和魔术师一样,他们希望大家认为他们从不犯错,不过这只是表象而已,他们每时每刻都在犯错。

print("Mary had a little lamd.")
print("Its fleece was white as %s." % 'snow')
print("And everywhere that Mary went.")
print("." * 10)
 
end1 = "c"
end2 = "h"
end3 = "e"
end4 = "e"
end5 = "s"
end6 = "e"
end7 = "B"
end8 = "u"
end9 = "r"
end10 = "g"
end11 = "e"
end12 = "r"
 
print(end1+end2+end3+end4+end5+end6,end=" ")
print(end7+end8+end9+end10+end11+end12)

习题八:打印,打印


formatter = "%r %r %r %r"
print(formatter % (1, 2, 3, 4))
print(formatter % ("one", "two", "three", "four"))
print(formatter % (True, False, False, True))
print(formatter % (formatter, formatter, formatter,formatter))
print(formatter %(
    "I had this thing.",
    "That you could type up right.",
    "Nut it didn't sing.",
    "So I said goodnight"
))

1.自己检查结果,记录你犯过的错误,并且在下个练习中尽量不犯同样的错误。
2. 注意最后一行程序中既有单引号又有双引号,你觉得它是如何工作的?

查了一下单引号双引号的问题:字符串中既可以有单引号也可以有双引号,单引号可以括双引号,双引号可以括单引号;单不能扩单,双不能括双

之所以在输出的时候有单引号是因为引用字符%r,python中%r和%s的区别里对%s和%r的区别分析的很清楚。

%r打印可以重现它代表的对象。

习题九:打印、打印、打印

1.自己检查结果,记录你犯过的错误,并且在下个练习中尽量不犯同样的错误。


days = "Mon Tue Wed Thu Fri Sat Sun"
months = "Jan\nFed\nMar\nApr\nMay\nJun\nJul\nAug"
print("Here are the days: ", days)
print("Here are the months: ", months)
print("""
There's something going on here.
With the three double-quotes.
we'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6.
""")

练习十:那是什么?

print("I am 6'2\"tall.")    # 将字符串中的双引号转义
print('I am 6\'2"tall.')    # 将字符串中的单引号转义
 
tabby_cat = "\tI'm tabbed in."
persian_cat = "I'm split\non a line."
backlash_cat = "I'm \\a \\cat."
fat_cat = """
I'll do a list:
\t* Cat food
\t* Fishies
\t* Catnip\n\t* Grass
"""
print(tabby_cat)
print(persian_cat)
print(backlash_cat)
print(fat_cat)

 

1.  上网搜索一下还有哪些可用的转义字符。

\(在行尾时)    续行符
\\    反斜杠符号
\'    单引号
\"    双引号
\a    响铃
\b    退格(Backspace)
\e    转义
\000    空
\n    换行
\v    纵向制表符
\t    横向制表符
\r    回车
\f    换页
\oyy    八进制数,yy代表的字符,例如:\o12代表换行
\xyy    十六进制数,yy代表的字符,例如:\x0a代表换行
\other    其它的字符以普通格式输出

2. 使用  ''' (三个单引号)取代三个双引号,看看效果是不是一样的?

没变化

 

展开阅读全文

没有更多推荐了,返回首页