答疑---三碧

输出区间[1,100]中的整数序列,用逗号分隔,并且逢7的时候输出字符串"^_^ "(打这个就有难度),逢7是指数字中含有7或者是7的整数倍。

我的:

看看答辩

li =list(range(1,101))
for i in li:
    if   i%10==7  or   i/10==7:
               i=”"^_^ "
li

要有个判断条件吧,比如else判断不是

  1. i % 10 == 7i / 10 == 7 这两个判断语句只能判断出某个数的末尾是否为7,而不能判断出这个数是否是7的倍数或者是否包含数字7.

  1. 将整数 i 赋值为字符串 "^_^ " 是错误的,应该使用列表推导式将每个数的字符串形式存入列表 li 中.

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)

探索random模块中randint函数用法,在[l,l00]之间随机产生一个整数。提示用户该整数的范围,并要求用户输入他猜测的结果。每次用户输入完成后,给予如下反馈之一:“这是您猜的第N回,您猜测的结果偏小”、“这是您猜的第N回,您猜测的结果偏大”、“这是您猜的第N回,您猜中了

看着思路队的

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

使用循环,判断以下字符串是否对称字符串,所谓对称字符串,是指字符串和它的倒序表示完全相同如"goog”、"pop“是对称字符串,两行字符串可在github中(网址见附录)下载Symmetry._st.txt。

a)'i love python nohtyp evol i'

b)'101110110101010111010111010101011011101'

# 判断字符串是否对称
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))

inp input ():
for i in range(int(len(inp)/2)):
        if inp[i]==inp[len(inp)-i]:
                 print (inp)

对称位数

修改

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, "不是对称字符串")

改造本章练习的第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, "元")

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈都婆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值