![](https://i-blog.csdnimg.cn/blog_migrate/44e79427c68143c89ca416309ef18700.jpeg)
输出区间[1,100]中的整数序列,用逗号分隔,并且逢7的时候输出字符串"^_^ "(打这个就有难度),逢7是指数字中含有7或者是7的整数倍。
我的:
![](https://i-blog.csdnimg.cn/blog_migrate/d13fbecdd9e9d359d9596236235fe577.png)
看看答辩
li =list(range(1,101))
for i in li:
if i%10==7 or i/10==7:
i=”"^_^ "
li
要有个判断条件吧,比如else判断不是
i % 10 == 7 和 i / 10 == 7 这两个判断语句只能判断出某个数的末尾是否为7,而不能判断出这个数是否是7的倍数或者是否包含数字7.
将整数 i 赋值为字符串 "^_^ " 是错误的,应该使用列表推导式将每个数的字符串形式存入列表 li 中.
![](https://i-blog.csdnimg.cn/blog_migrate/9896a1bb2ab2c8db99e5423494d5580f.jpeg)
li = [str(i) if "7" not in str(i) and i % 7 != 0 else "^_^ " for i in range(1,101)]
result = ", ".join(li)
print(result)
![](https://i-blog.csdnimg.cn/blog_migrate/e91f49632856242f18f6ac029e35cc8c.png)
探索random模块中randint函数用法,在[l,l00]之间随机产生一个整数。提示用户该整数的范围,并要求用户输入他猜测的结果。每次用户输入完成后,给予如下反馈之一:“这是您猜的第N回,您猜测的结果偏小”、“这是您猜的第N回,您猜测的结果偏大”、“这是您猜的第N回,您猜中了
看着思路队的
![](https://i-blog.csdnimg.cn/blog_migrate/337099751ef4c23e37c69b516e5fdff8.jpeg)
import random
random_number = random.randint(1, 100)###1-100就可以不是那个从0开始的元组,还是什么
guess_count = 0
print("该整数的范围是1到100,请开始猜测")
while True:
guess = int(input("请输入您的猜测数字:"))
guess_count += 1
if guess > random_number:
print("这是您猜的第{}回,您猜测的结果偏大".format(guess_count))
elif guess < random_number:
print("这是您猜的第{}回,您猜测的结果偏小".format(guess_count))
else:
print("这是您猜的第{}回,您猜中了".format(guess_count))
break
![](https://i-blog.csdnimg.cn/blog_migrate/f7a190ce4e5c183c1199f3b5ece21a8d.png)
使用循环,判断以下字符串是否对称字符串,所谓对称字符串,是指字符串和它的倒序表示完全相同如"goog”、"pop“是对称字符串,两行字符串可在github中(网址见附录)下载Symmetry._st.txt。
a)'i love python nohtyp evol i'
b)'101110110101010111010111010101011011101'
![](https://i-blog.csdnimg.cn/blog_migrate/1cdd9c432d72dda7af7d3b1f7fcfea41.jpeg)
# 判断字符串是否对称
def is_duichen(string):
return string == string[::-1]###正序和逆序一样就是堆成啊
# 字符串a
string_a = 'i love python nohtyp evol i'
print("字符串a是否对称:", is_duichen(string_a))
# 字符串b
string_b = '101110110101010111010111010101011011101'
print("字符串b是否对称:", is_duichen(string_b))
![](https://i-blog.csdnimg.cn/blog_migrate/e91128c768eeb0bd1aeabbbc489c85ef.jpeg)
inp input ():
for i in range(int(len(inp)/2)):
if inp[i]==inp[len(inp)-i]:
print (inp)
对称位数
![](https://i-blog.csdnimg.cn/blog_migrate/c77f3f4b281b69de6f882b002a176e8e.png)
修改
def is_symmetry(inp):
for i in range(int(len(inp) / 2)):
if inp[i] != inp[len(inp) - i - 1]:##对称位相同
return False
return True
inp = input("请输入字符串:")
if is_symmetry(inp):
print(inp, "是对称字符串")
else:
print(inp, "不是对称字符串")
![](https://i-blog.csdnimg.cn/blog_migrate/35ba7cc7a16ed72ac4ce8786aba85660.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4501405de1506b4c94e7d6e029bcd71c.jpeg)
改造本章练习的第1题,以增强程序的稳健性。要求如下:
a)不管用户输入为何,都不报告运行时错误。当用户输入不合规时,提示“请输入正确的工作时间。”
b)用户输入结束后,继续循环提示用户输入,直到用户输入字符串"byebye",循环退出。(有难度)
while True:
try:###有错的东西就try以下
work_hours = float(input("请输入本月工作时长:"))
if work_hours < 0:
raise ValueError("Invalid input")
break
except:
print("请输入正确的工作时间。")
if work_hours == "byebye":
break
if work_hours <= 24:
pay = work_hours * 78.35
else:
pay = 24 * 78.35 + (work_hours - 24) * 64.55
print("共酬金为:" + str(round(pay, 2)) + "元")
很简单
某学校勤工助学岗位鼓励学生更多地将时间用于学业,设置阶梯式劳动定价方案。每月劳动时(判断)间小于或等于24小时的,单价为78.35元/小时;每月劳动时间超出24小时的,超出部分单价为64.55元/小时。请编写程序,根据用户输入的时长(以小时为单位、可以是小数)计算总报酬,并且金额保留到小数点
后2位小数(提示:使用round函数)。部分测试用例如下:
%Run calc.py
请输入本月工作时长:19.5
共酬金为:1527.82元
hours = float(input("请输入本月工作时长:"))
if hours <= 24:
salary = round(hours * 78.35, 2)
else:
salary = round(24 * 78.35 + (hours - 24) * 64.55, 2)###还有没超出的部分
print("共酬金为:", salary, "元")